[ovs-discuss] openvswitch_mod load problem
Ben Pfaff
blp at nicira.com
Mon Aug 9 22:54:10 UTC 2010
On Mon, Aug 09, 2010 at 03:50:24PM -0700, Hardeep Uppal wrote:
> Hi All,
> root at ettm:/home/ettm/Desktop/openvswitch-1.0.1# insmod
> datapath/linux-2.6/openvswitch_mod.ko
> insmod: error inserting 'datapath/linux-2.6/openvswitch_mod.ko': -1 Address
> already in use
>
> I checked all the kernel modules loaded and I didn't see openvswicth_mod.ko.
> Does anyone know how to avoid this error?
In recent Open vSwitch versions, this FAQ is answered in INSTALL.Linux:
6. If you built kernel modules, you may load them with "insmod", e.g.:
% insmod datapath/linux-2.6/openvswitch_mod.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
check that openvswitch_mod is listed.
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
br_should_route_hook (owned by bridge)" means that the bridge
module is loaded. Run "/sbin/rmmod bridge" to remove it.
If "/sbin/rmmod bridge" fails with "ERROR: Module bridge does
not exist in /proc/modules", then the bridge is compiled into
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
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
delete any existing datapaths beforehand, using the "dpctl"
program included with the OpenFlow reference implementation.
"ovs-dpctl" will not work.)
- 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
a module built for the running kernel, e.g.:
% /sbin/modinfo openvswitch_mod.ko
% /sbin/modinfo /lib/modules/`uname -r`/kernel/net/bridge/bridge.ko
Compare the "vermagic" lines output by the two commands. If
they differ, then Open vSwitch was built for the wrong kernel.
- If you decide to report a bug or ask a question related to
module loading, please include the output from the "dmesg" and
"modinfo" commands mentioned above.
More information about the discuss
mailing list