[ovs-dev] [PATCH] doc: Add information about module format errors.

Ben Pfaff blp at nicira.com
Tue Jun 22 20:29:11 UTC 2010


On Tue, Jun 22, 2010 at 01:14:21PM -0700, Jesse Gross wrote:
> An "invalid module format" error message can mean that a module
> that exports the same symbols as us is already loaded.

Your patch came through when I was in the middle of writing up a similar
patch.  But mine has more details.

What do you think?

--8<--------------------------cut here-------------------------->8--

>From 035c61e8f69060a88e3f54f395167d0d9860b389 Mon Sep 17 00:00:00 2001
From: Ben Pfaff <blp at nicira.com>
Date: Tue, 22 Jun 2010 13:27:25 -0700
Subject: [PATCH] INSTALL.Linux: Add some troubleshooting instructions for module loading.

Suggested-by: kk yap <yapkke at stanford.edu>
---
 INSTALL.Linux |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

diff --git a/INSTALL.Linux b/INSTALL.Linux
index 5a628d8..d87a8b7 100644
--- a/INSTALL.Linux
+++ b/INSTALL.Linux
@@ -186,6 +186,33 @@ Prerequisites section, follow the procedure below to build.
    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).
+
+      - 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.
+
 7. Initialize the configuration database using ovsdb-tool, e.g.:
 
       % ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema
-- 
1.7.1





More information about the dev mailing list