On certain Ubuntu systems running the 4.4 based kernel depmod
may not correctly search for module dependencies when newer
openvswitch kernel modules have been installed in the extra
directory at /lib/modules/$(uname -r)/extra.  A symptom of
this are the following messages in system log that can be
printed with the dmesg command:

[164917.582125] vport_lisp: disagrees about version of symbol ovs_netdev_link
[164917.582139] vport_lisp: Unknown symbol ovs_netdev_link (err -22)
[164917.582155] vport_lisp: Unknown symbol ovs_lisp_fill_metadata_dst (err 0)
[164917.582165] vport_lisp: Unknown symbol rpl_rtnl_delete_link (err 0)
[164917.582169] vport_lisp: disagrees about version of symbol 
ovs_netdev_tunnel_destroy
[164917.582170] vport_lisp: Unknown symbol ovs_netdev_tunnel_destroy (err -22)
[164917.582178] vport_lisp: Unknown symbol rpl_lisp_xmit (err 0)
[164917.582184] vport_lisp: Unknown symbol rpl_lisp_dev_create_fb (err 0)
[164917.582187] vport_lisp: disagrees about version of symbol 
__ovs_vport_ops_register
[164917.582188] vport_lisp: Unknown symbol __ovs_vport_ops_register (err -22)
[164917.582191] vport_lisp: disagrees about version of symbol 
ovs_vport_ops_unregister
[164917.582192] vport_lisp: Unknown symbol ovs_vport_ops_unregister (err -22)
[164917.582194] vport_lisp: disagrees about version of symbol ovs_vport_alloc
[164917.582195] vport_lisp: Unknown symbol ovs_vport_alloc (err -22)
[164917.582197] vport_lisp: disagrees about version of symbol ovs_vport_free
[164917.582198] vport_lisp: Unknown symbol ovs_vport_free (err -22)
[164917.606229] vport_stt: disagrees about version of symbol ovs_netdev_link
[164917.606233] vport_stt: Unknown symbol ovs_netdev_link (err -22)
[164917.606248] vport_stt: Unknown symbol ovs_stt_fill_metadata_dst (err 0)
[164917.606260] vport_stt: Unknown symbol rpl_rtnl_delete_link (err 0)
[164917.606264] vport_stt: disagrees about version of symbol 
ovs_netdev_tunnel_destroy
[164917.606266] vport_stt: Unknown symbol ovs_netdev_tunnel_destroy (err -22)
[164917.606274] vport_stt: Unknown symbol ovs_stt_dev_create_fb (err 0)
[164917.606279] vport_stt: disagrees about version of symbol 
__ovs_vport_ops_register
[164917.606281] vport_stt: Unknown symbol __ovs_vport_ops_register (err -22)
[164917.606285] vport_stt: disagrees about version of symbol 
ovs_vport_ops_unregister
[164917.606286] vport_stt: Unknown symbol ovs_vport_ops_unregister (err -22)
[164917.606291] vport_stt: disagrees about version of symbol ovs_vport_alloc
[164917.606292] vport_stt: Unknown symbol ovs_vport_alloc (err -22)
[164917.606295] vport_stt: disagrees about version of symbol ovs_vport_free
[164917.606297] vport_stt: Unknown symbol ovs_vport_free (err -22)
[164917.606305] vport_stt: Unknown symbol ovs_stt_xmit (err 0)

When this occurs the 'make check-kmod' command will experience many
failures and openvswitch will not operate correctly.

Document adding the 'extra' directory to the depmod search configuration
file in /etc/depmod.d/ubuntu.conf.  Adding the extra directory to the
depmod search path fixes the problem.

Signed-off-by: Greg Rose <[email protected]>
---
 Documentation/intro/install/general.rst | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/Documentation/intro/install/general.rst 
b/Documentation/intro/install/general.rst
index e5ec155..b66e7f1 100644
--- a/Documentation/intro/install/general.rst
+++ b/Documentation/intro/install/general.rst
@@ -412,7 +412,29 @@ Building
          $ /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.
+     then Open vSwitch may have been built for the wrong kernel.
+     Alternatively, on some Ubuntu based systems, depmod might not have
+     done the proper search for module dependencies.  Adding 'extra' to
+     the configuration file in /etc/depmod.d/ubuntu.conf and then running
+     depmod -a can fix the problem.  The following script can do this::
+
+        #!/bin/sh
+
+        check_ubuntu_depmod_config() {
+            if [ -e /etc/depmod.d/ubuntu.conf ]; then
+                if ! grep -q extra /etc/depmod.d/ubuntu.conf
+                    then
+                    sed -i s\/search\/"search extra"\/ 
/etc/depmod.d/ubuntu.conf
+                    /sbin/depmod -a
+                fi
+            fi
+        }
+
+        check_ubuntu_depmod_config
+
+
+     The example script implements the check as a function so that is
+     easily portable into user specific configuration checks.
 
      If you decide to report a bug or ask a question related to module loading,
      include the output from the ``dmesg`` and ``modinfo`` commands mentioned
-- 
1.8.3.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to