[ovs-discuss] Help Connecting Switch to VMs

Derek Cormier derek.cormier at lab.ntt.co.jp
Thu Oct 7 08:44:29 UTC 2010

On 10/07/2010 02:48 AM, Ben Pfaff wrote:
> On Wed, Oct 06, 2010 at 05:23:02PM +0900, Derek Cormier wrote:
>> I tried installing the Linux bridging support, but when I enter the
>> following command,
>> 	insmod datapath/linux-2.6/brcompat_mod.ko
>> ... I get the following error.
>>                 insmod: error inserting
>> 'datapath/linux-2.6/brcompat_mod.ko': -1 Unknown symbol in module
> There are troubleshooting instructions in INSTALL.Linux, did you try
> them?
> 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.
Okay, I now have a better understanding of the project I am working on. 
I'll be using the OpenFlow functionality, not the Linux bridging 
replacement. This that leads me to another problem. I was following the 
instructions for setting up an OpenFlow switch 
and on step where I run ovs-openflowd, I get a segmentation fault. Here 
is my console output:

$ sudo ovs-openflowd dp0
Oct 07 17:37:56|00001|openflowd|INFO|Open vSwitch version 1.1.0pre2
Oct 07 17:37:56|00002|openflowd|INFO|OpenFlow protocol version 0x01
Oct 07 17:37:56|00003|ofproto|INFO|using datapath ID 000000232080e6c1
Segmentation fault

I created dp0 and added ethernet ports to it. ovsdb-server is running 
and openvswitch_mod is loaded.


More information about the discuss mailing list