openvswitch / ovs-issues

Issue tracker repo for Open vSwitch
10 stars 3 forks source link

How to upgrade kernel module of OVS? #328

Closed legitYosal closed 1 month ago

legitYosal commented 2 months ago

This is not actually an technical issue and more of a document issue,I am reading official documentation and can see many mentions of upgrading kernel module OVS: https://docs.openvswitch.org/en/latest/intro/install/general/#hot-upgrading

But as I know kernel space module is in the kernel source code so in order to upgrade it I must upgrade the kernel itself, is this a little mistake in documentation or there is something which I don't know? can you please provide me with some links and insights

igsilya commented 2 months ago

openvswitch part in the kernel is usually built as a module. So, if you have sources of your currently running kernel, you may make some changes in the openvswitch module, re-build it and rmmod openvswitch + modprobe openvswitch. This will replace the module and changes will make effect without updating the whole kernel or even rebooting the machine.

It is less common this days to swap out the kernel mdule without updating the rest of the kernel since the out-of-tree module was deprecated in 2.17, but it is still possible if needed.

legitYosal commented 2 months ago

@igsilya Thank you, also I have confusion with this line in the document:

If the upgrade only involves upgrading the userspace utilities and daemons of Open vSwitch, make sure that the new userspace version is compatible with the previously loaded kernel module.

As I know there is no reference for version compatibility between even OVS, OVN, or the ml2 plugin of neutron, but they at least have change logs and we can check for deprecations and schema changes, but this particular kernel module of OVS could not find anything about it, looks like in order to upgrade OVS from 2.17 to 3.3 on userspace we have to read the source code on kernel to be sure the current loaded kernel module supports the new version! Is this conclusion right?