In case the OVS kernel module is not installed, OVS userspace can still be used. Currently its absence blocks OVS startup.
Allow it with a warning. Attempting to create a "system" type bridge will fail with "No such file or directory" errors in the ovs-vswitchd log. Signed-off-by: Reuven Plevinsky <[email protected]> --- utilities/ovs-kmod-ctl.8 | 16 +++++++++++----- utilities/ovs-kmod-ctl.in | 7 ++++++- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/utilities/ovs-kmod-ctl.8 b/utilities/ovs-kmod-ctl.8 index c36638e79f52..5acffa931e71 100644 --- a/utilities/ovs-kmod-ctl.8 +++ b/utilities/ovs-kmod-ctl.8 @@ -43,9 +43,14 @@ Each of \fBovs\-kmod\-ctl\fR's commands is described separately below. . .PP The \fBinsert\fR command loads the Open vSwitch kernel modules, if -needed. If this fails, and the Linux bridge module is loaded but no -bridges exist, it tries to unload the bridge module and tries loading -the Open vSwitch kernel module again. +needed. If the \fBopenvswitch\fR kernel module is not installed on +the system, the command continues without it, allowing Open vSwitch +to operate in userspace\-only mode. +.PP +If \fBmodprobe\fR\|(8) fails for an installed module, and the Linux +bridge module is loaded but no bridges exist, the command tries to +unload the bridge module and retries loading the Open vSwitch kernel +module. . .SH "The ``remove'' command" . @@ -58,8 +63,9 @@ modules. . \fBovs\-kmod\-ctl\fR exits with status 0 on success and nonzero on failure. The \fBinsert\fR command is considered to succeed if kernel -modules are already loaded; the \fBremove\fR command is considered to -succeed if none of the kernel modules are loaded. +modules are already loaded or if the \fBopenvswitch\fR module is not +installed (userspace\-only mode); the \fBremove\fR command is considered +to succeed if none of the kernel modules are loaded. . .SH "ENVIRONMENT" . diff --git a/utilities/ovs-kmod-ctl.in b/utilities/ovs-kmod-ctl.in index 19f1009647e2..daa8c42d4e3d 100644 --- a/utilities/ovs-kmod-ctl.in +++ b/utilities/ovs-kmod-ctl.in @@ -29,7 +29,12 @@ done insert_mods () { # Try loading openvswitch kernel module. - action "Inserting openvswitch module" modprobe openvswitch + modinfo openvswitch > /dev/null 2>&1 + if test $? = 0; then + action "Inserting openvswitch module" modprobe openvswitch + else + log_warning_msg "No openvswitch module, running in userspace mode only" + fi } insert_kmods_if_required() { -- 2.43.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
