This renames the datapath modules:
openvswitch_mod -> openvswitch
brcompat_mod -> brcompat
The first makes the module name consistent with upstream, and the latter
is just for internal consistency. This makes tools, and documentation
refer to a common module name regardless if it's coming from upstream
linux or built from datapath/ as part of a local build.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Jesse Gross <jesse@nicira.com>
16 files changed:
6. If you built kernel modules, you may load them with "insmod", e.g.:
6. If you built kernel modules, you may load them with "insmod", e.g.:
- % insmod datapath/linux/openvswitch_mod.ko
+ % insmod datapath/linux/openvswitch.ko
You may need to specify a full path to insmod, e.g. /sbin/insmod.
To verify that the modules have been loaded, run "/sbin/lsmod" and
You may need to specify a full path to insmod, e.g. /sbin/insmod.
To verify that the modules have been loaded, run "/sbin/lsmod" and
- check that openvswitch_mod is listed.
+ check that openvswitch is listed.
If the "insmod" operation fails, look at the last few kernel log
messages (e.g. with "dmesg | tail"):
If the "insmod" operation fails, look at the last few kernel log
messages (e.g. with "dmesg | tail"):
- - The message "openvswitch_mod: exports duplicate symbol
+ - The message "openvswitch: exports duplicate symbol
br_should_route_hook (owned by bridge)" means that the bridge
module is loaded. Run "/sbin/rmmod bridge" to remove it.
br_should_route_hook (owned by bridge)" means that the bridge
module is loaded. Run "/sbin/rmmod bridge" to remove it.
the kernel, rather than as a module. Open vSwitch does not
support this configuration (see "Build Requirements", above).
the kernel, rather than as a module. Open vSwitch does not
support this configuration (see "Build Requirements", above).
- - The message "openvswitch_mod: exports duplicate symbol
+ - The message "openvswitch: exports duplicate symbol
dp_ioctl_hook (owned by ofdatapath)" means that the ofdatapath
module from the OpenFlow reference implementation is loaded.
Run "/sbin/rmmod ofdatapath" to remove it. (You might have to
dp_ioctl_hook (owned by ofdatapath)" means that the ofdatapath
module from the OpenFlow reference implementation is loaded.
Run "/sbin/rmmod ofdatapath" to remove it. (You might have to
- Otherwise, the most likely problem is that Open vSwitch was
built for a kernel different from the one into which you are
- Otherwise, the most likely problem is that Open vSwitch was
built for a kernel different from the one into which you are
- trying to load it. Run "modinfo" on openvswitch_mod.ko and on
+ trying to load it. Run "modinfo" on openvswitch.ko and on
a module built for the running kernel, e.g.:
a module built for the running kernel, e.g.:
- % /sbin/modinfo openvswitch_mod.ko
+ % /sbin/modinfo openvswitch.ko
% /sbin/modinfo /lib/modules/`uname -r`/kernel/net/bridge/bridge.ko
Compare the "vermagic" lines output by the two commands. If
% /sbin/modinfo /lib/modules/`uname -r`/kernel/net/bridge/bridge.ko
Compare the "vermagic" lines output by the two commands. If
module loading, please include the output from the "dmesg" and
"modinfo" commands mentioned above.
module loading, please include the output from the "dmesg" and
"modinfo" commands mentioned above.
- There is an optional module parameter to openvswitch_mod.ko called
+ There is an optional module parameter to openvswitch.ko called
vlan_tso that enables TCP segmentation offload over VLANs on NICs
that support it. Many drivers do not expose support for TSO on VLANs
in a way that Open vSwitch can use but there is no way to detect
vlan_tso that enables TCP segmentation offload over VLANs on NICs
that support it. Many drivers do not expose support for TSO on VLANs
in a way that Open vSwitch can use but there is no way to detect
/etc/init.d/openvswitch runs early in boot. It does roughly the
following:
/etc/init.d/openvswitch runs early in boot. It does roughly the
following:
- * Loads the OVS kernel module, openvswitch_mod.
+ * Loads the OVS kernel module, openvswitch.
* Starts ovsdb-server, the OVS configuration database.
* Starts ovsdb-server, the OVS configuration database.
2. Load the brcompat kernel module (which was built in step 1), e.g.:
2. Load the brcompat kernel module (which was built in step 1), e.g.:
- % insmod datapath/linux/brcompat_mod.ko
+ % insmod datapath/linux/brcompat.ko
- (openvswitch_mod.ko should already have been loaded.)
+ (openvswitch.ko should already have been loaded.)
post-v1.6.0
------------------------
post-v1.6.0
------------------------
+ - kernel modules are renamed. openvswitch_mod.ko is now
+ openvswitch.ko and brcompat_mod.ko is now brcompat.ko.
/* Set the bridge ioctl handler */
brioctl_set(brc_ioctl_deviceless_stub);
/* Set the bridge ioctl handler */
brioctl_set(brc_ioctl_deviceless_stub);
- /* Set the openvswitch_mod device ioctl handler */
+ /* Set the openvswitch device ioctl handler */
ovs_dp_ioctl_hook = brc_dev_ioctl;
/* Randomize the initial sequence number. This is not a security
ovs_dp_ioctl_hook = brc_dev_ioctl;
/* Randomize the initial sequence number. This is not a security
/*
* In kernels 2.6.36 and later, Open vSwitch can safely coexist with
* the Linux bridge module, but it does not make sense to load both bridge and
/*
* In kernels 2.6.36 and later, Open vSwitch can safely coexist with
* the Linux bridge module, but it does not make sense to load both bridge and
- * brcompat_mod, so this prevents it.
+ * brcompat, so this prevents it.
*/
BRIDGE_MUTUAL_EXCLUSION;
#endif
*/
BRIDGE_MUTUAL_EXCLUSION;
#endif
* exporting br_should_route_hook. Because the bridge module also exports the
* same symbol, the module loader will refuse to load both modules at the same
* time (e.g. "bridge: exports duplicate symbol br_should_route_hook (owned by
* exporting br_should_route_hook. Because the bridge module also exports the
* same symbol, the module loader will refuse to load both modules at the same
* time (e.g. "bridge: exports duplicate symbol br_should_route_hook (owned by
*
* Before Linux 2.6.36, Open vSwitch cannot safely coexist with the Linux
*
* Before Linux 2.6.36, Open vSwitch cannot safely coexist with the Linux
- * bridge module, so openvswitch_mod uses this macro in those versions. In
- * Linux 2.6.36 and later, Open vSwitch can coexist with the bridge module, but
- * it makes no sense to load both bridge and brcompat_mod, so brcompat_mod uses
+ * bridge module, so openvswitch uses this macro in those versions. In
+ * Linux 2.6.36 and later, Open vSwitch can coexist with the bridge module,
+ * but it makes no sense to load both bridge and brcompat, so brcompat uses
* this macro in those versions.
*
* The use of "typeof" here avoids the need to track changes in the type of
* this macro in those versions.
*
* The use of "typeof" here avoids the need to track changes in the type of
# right place, even though it's conceptually incorrect.
NOSTDINC_FLAGS += -I$(top_srcdir)/include -I$(srcdir)/compat -I$(srcdir)/compat/include
# right place, even though it's conceptually incorrect.
NOSTDINC_FLAGS += -I$(top_srcdir)/include -I$(srcdir)/compat -I$(srcdir)/compat/include
-obj-m := $(patsubst %,%_mod.o,$(build_modules))
+obj-m := $(patsubst %,%.o,$(build_modules))
-$(1)_mod-y = $$(notdir $$(patsubst %.c,%.o,$($(1)_sources)))
+$(1)-y = $$(notdir $$(patsubst %.c,%.o,$($(1)_sources)))
endef
$(foreach module,$(build_modules),$(eval $(call module_template,$(module))))
endef
$(foreach module,$(build_modules),$(eval $(call module_template,$(module))))
installcheck:
mostlyclean:
clean:
installcheck:
mostlyclean:
clean:
- rm -f *.o *.ko *_mod.* Module.symvers *.cmd kcompat.h.new
+ rm -f *.o *.ko *.mod.* Module.symvers *.cmd kcompat.h.new
for d in $(build_links); do if test -h $$d; then rm $$d; fi; done
distclean: clean
rm -f kcompat.h
for d in $(build_links); do if test -h $$d; then rm $$d; fi; done
distclean: clean
rm -f kcompat.h
/* We fix grp->id to 32 so that it doesn't collide with any of the multicast
/* We fix grp->id to 32 so that it doesn't collide with any of the multicast
- * groups selected by openvswitch_mod, which uses groups 16 through 31.
+ * groups selected by openvswitch, which uses groups 16 through 31.
* Collision isn't fatal--multicast listeners should check that the family is
* the one that they want and discard others--but it wastes time and memory to
* receive unwanted messages. */
* Collision isn't fatal--multicast listeners should check that the family is
* the one that they want and discard others--but it wastes time and memory to
* receive unwanted messages. */
* In kernels earlier than 2.6.36, Open vSwitch cannot safely coexist with the
* Linux bridge module, because there is only a single bridge hook function and
* only a single br_port member in struct net_device, so this prevents loading
* In kernels earlier than 2.6.36, Open vSwitch cannot safely coexist with the
* Linux bridge module, because there is only a single bridge hook function and
* only a single br_port member in struct net_device, so this prevents loading
- * both bridge and openvswitch_mod at the same time.
+ * both bridge and openvswitch at the same time.
*/
BRIDGE_MUTUAL_EXCLUSION;
#endif
*/
BRIDGE_MUTUAL_EXCLUSION;
#endif
PACKAGE_NAME="openvswitch"
PACKAGE_VERSION="__VERSION__"
MAKE="./configure --with-linux='${kernel_source_dir}' && make -C datapath/linux"
PACKAGE_NAME="openvswitch"
PACKAGE_VERSION="__VERSION__"
MAKE="./configure --with-linux='${kernel_source_dir}' && make -C datapath/linux"
-BUILT_MODULE_NAME[0]=openvswitch_mod
-BUILT_MODULE_NAME[1]=brcompat_mod
+BUILT_MODULE_NAME[0]=openvswitch
+BUILT_MODULE_NAME[1]=brcompat
BUILT_MODULE_LOCATION[0]=datapath/linux/
BUILT_MODULE_LOCATION[1]=datapath/linux/
DEST_MODULE_LOCATION[0]=/kernel/drivers/net/openvswitch/
BUILT_MODULE_LOCATION[0]=datapath/linux/
BUILT_MODULE_LOCATION[1]=datapath/linux/
DEST_MODULE_LOCATION[0]=/kernel/drivers/net/openvswitch/
.
.PP
By default the \fBload\-kmod\fR command attempts to load the
.
.PP
By default the \fBload\-kmod\fR command attempts to load the
-openvswitch_mod kernel module. If the \fB\-\-brcompat\fR option is
-specified then the brcompat_mod kernel module is also loaded.
+openvswitch kernel module. If the \fB\-\-brcompat\fR option is
+specified then the brcompat kernel module is also loaded.
.
.SH "The ``enable\-protocol'' command"
.
.
.SH "The ``enable\-protocol'' command"
.
## ----- ##
insert_openvswitch_mod_if_required () {
## ----- ##
insert_openvswitch_mod_if_required () {
- # If openvswitch_mod is already loaded then we're done.
- test -e /sys/module/openvswitch_mod && return 0
+ # If openvswitch is already loaded then we're done.
+ test -e /sys/module/openvswitch -o -e /sys/module/openvswitch_mod && \
+ return 0
- # Load openvswitch_mod. If that's successful then we're done.
- action "Inserting openvswitch module" modprobe openvswitch_mod && return 0
+ # Load openvswitch. If that's successful then we're done.
+ action "Inserting openvswitch module" modprobe openvswitch && return 0
# If the bridge module is loaded, then that might be blocking
# If the bridge module is loaded, then that might be blocking
- # openvswitch_mod. Try to unload it, if there are no bridges.
+ # openvswitch. Try to unload it, if there are no bridges.
test -e /sys/module/bridge || return 1
bridges=`echo /sys/class/net/*/bridge | sed 's,/sys/class/net/,,g;s,/bridge,,g'`
if test "$bridges" != "*"; then
test -e /sys/module/bridge || return 1
bridges=`echo /sys/class/net/*/bridge | sed 's,/sys/class/net/,,g;s,/bridge,,g'`
if test "$bridges" != "*"; then
fi
action "removing bridge module" rmmod bridge || return 1
fi
action "removing bridge module" rmmod bridge || return 1
- # Try loading openvswitch_mod again.
- action "Inserting openvswitch module" modprobe openvswitch_mod
+ # Try loading openvswitch again.
+ action "Inserting openvswitch module" modprobe openvswitch
}
insert_brcompat_mod_if_required () {
if test -e /sys/module/bridge; then
}
insert_brcompat_mod_if_required () {
if test -e /sys/module/bridge; then
- log_warning_msg "bridge module is loaded, not loading brcompat_mod"
+ log_warning_msg "bridge module is loaded, not loading brcompat"
- test -e /sys/module/brcompat_mod && return 0
- action "Inserting brcompat module" modprobe brcompat_mod
+ test -e /sys/module/brcompat -o -e /sys/module/brcompat_mod && return 0
+ action "Inserting brcompat module" modprobe brcompat
}
insert_mod_if_required () {
}
insert_mod_if_required () {
action "Removing datapath: $dp" ovs-dpctl del-dp "$dp"
done
action "Removing datapath: $dp" ovs-dpctl del-dp "$dp"
done
+ # try both old and new names in case this is post upgrade
if test -e /sys/module/brcompat_mod; then
action "Removing brcompat module" rmmod brcompat_mod
if test -e /sys/module/brcompat_mod; then
action "Removing brcompat module" rmmod brcompat_mod
+ elif test -e /sys/module/brcompat; then
+ action "Removing brcompat module" rmmod brcompat
fi
if test -e /sys/module/openvswitch_mod; then
action "Removing openvswitch module" rmmod openvswitch_mod
fi
if test -e /sys/module/openvswitch_mod; then
action "Removing openvswitch module" rmmod openvswitch_mod
+ elif test -e /sys/module/openvswitch; then
+ action "Removing openvswitch module" rmmod openvswitch
.so lib/leak-checker.man
.
.SH NOTES
.so lib/leak-checker.man
.
.SH NOTES
-\fBovs\-brcompatd\fR requires the \fBbrcompat_mod.ko\fR kernel module to be
+\fBovs\-brcompatd\fR requires the \fBbrcompat.ko\fR kernel module to be
loaded.
.SH "SEE ALSO"
.BR ovs\-appctl (8),
loaded.
.SH "SEE ALSO"
.BR ovs\-appctl (8),
- /* Parse the command received from brcompat_mod. */
+ /* Parse the command received from brcompat. */
error = parse_command(buffer, &seq, &linux_name, NULL, &count, &skip);
if (error) {
return error;
error = parse_command(buffer, &seq, &linux_name, NULL, &count, &skip);
if (error) {
return error;
Release: 1
Source: openvswitch-%{openvswitch_version}.tar.gz
Buildroot: /tmp/openvswitch-xen-rpm
Release: 1
Source: openvswitch-%{openvswitch_version}.tar.gz
Buildroot: /tmp/openvswitch-xen-rpm
-Requires: openvswitch_mod.ko.%{module_abi_version}
+Requires: openvswitch.ko.%{module_abi_version}
%description
Open vSwitch provides standard network bridging functions augmented with
%description
Open vSwitch provides standard network bridging functions augmented with
Summary: Open vSwitch kernel module
Group: System Environment/Kernel
License: GPLv2
Summary: Open vSwitch kernel module
Group: System Environment/Kernel
License: GPLv2
-Provides: %{name}-modules-%{kernel_flavor} = %{kernel_version}, openvswitch_mod.ko.%{module_abi_version}
+Provides: %{name}-modules-%{kernel_flavor} = %{kernel_version}, openvswitch.ko.%{module_abi_version}
Requires: kernel-%{kernel_name} = %{kernel_version}
%description %{module_package}
Requires: kernel-%{kernel_name} = %{kernel_version}
%description %{module_package}
%exclude /usr/share/openvswitch/python/ovs/db/*.py[co]
%files %{module_package}
%exclude /usr/share/openvswitch/python/ovs/db/*.py[co]
%files %{module_package}
-/lib/modules/%{xen_version}/extra/openvswitch/openvswitch_mod.ko
-%exclude /lib/modules/%{xen_version}/extra/openvswitch/brcompat_mod.ko
+/lib/modules/%{xen_version}/extra/openvswitch/openvswitch.ko
+%exclude /lib/modules/%{xen_version}/extra/openvswitch/brcompat.ko