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
