[ovs-discuss] Help Connecting Switch to VMs

Ben Pfaff blp at nicira.com
Wed Oct 6 17:48:40 UTC 2010

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

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