[ovs-dev] [PATCH ] debian: place kernel module to satisfy depmod search.

Ansis Atteka aatteka at nicira.com
Thu Oct 15 20:55:54 UTC 2015

On Wed, Oct 14, 2015 at 5:33 PM, Saurabh Mohan
<saurabh at cplanenetworks.com> wrote:
> On 10/14/2015 04:58 PM, Ansis Atteka wrote:
>> On Wed, Oct 14, 2015 at 4:08 PM, Ben Pfaff <blp at nicira.com> wrote:
>>> On Wed, Oct 14, 2015 at 03:28:24PM -0700, Joe Stringer wrote:
>>>> On 14 October 2015 at 15:21, Ben Pfaff <blp at nicira.com> wrote:
>>>>> On Tue, Oct 06, 2015 at 04:35:32PM -0700, Saurabh Mohan wrote:
>>>>>> On Ubuntu depmod's search priority is configured in /etc/depmod to be
>>>>>> updates and then the kernel built-in directory.
>>>>>> $ cat /etc/depmod.d/ubuntu.conf
>>>>>> search updates ubuntu built-in
>>>>>> Thus change the placement of openvswitch.ko under updates/ not
>>>>>> kernel/updates.
>>>>>> Signed-off-by: Saurabh Mohan <saurabh at cplanenetworks.com>
>>>>> This appears to be correct, but I'm confused about how this could have
>>>>> not been noticed for years.  Did something change recently?
>>>> We recently changed it from kernel/ to kernel/updates (prior to v2.4
>>>> release), and the commit message suggests it was previously
>>>> nondeterministic:
>>>> commit b519432205c36bda5c7331f77a49eaaa919967ad
>>>> Author: Ansis Atteka <aatteka at nicira.com>
>>>> Date:   Tue May 26 16:49:49 2015 -0700
>>>>      debian: install openvswitch kernel module under "updates" directory
>>>>      This patch fixes a bug where "modprobe openvswitch" command on
>>>> Ubuntu
>>>>      distribution would have sometimes tried to load OVS kernel module
>>>> that
>>>>      shipped together with Linux Kernel, even though one had also
>>>> installed
>>>>      OVS datapath debian package created with module-assistant.  Because
>>>> of
>>>>      this issue force-reload-kmod command occasionally malfunctioned and
>>>>      failed to load the right kernel module.
>>>>      This bug happened *occasionally* because the default Ubuntu depmod
>>>>      configuration in /etc/depmod.d/ubuntu.conf is set to look for
>>>> kernel
>>>>      modules first in "updates" directory, then in "ubuntu" directory
>>>> and
>>>>      then in other directories.  If there were two openvswitch.ko
>>>> modules
>>>>      in "other directories", then modprobe would have loaded kernel
>>>>      module that was nondeterministically listed first by file system.
>>> OK, I understand why it was nondeterministic before, but where does
>>> kernel/updates come in then, since it seems to be different from and not
>>> as high-priority as "updates"?  Does anyone know?
>> I am still trying to find the answer in my email history why I ended
>> up using "kernel/updates" over "updates".
>> Saurabh, did you encounter an issue where the wrong kernel module was
>> loaded or is this to achieve conformance?
> Anis, we tried using this  patch but still noticed that the wrong kernel
> module was getting selected. The only way to fix it was
> to put the module outside kernel/ directory.

Can you give me locations of all ovs kernel modules (dkms,
module-assistant and the one that came with linux) present in
/lib/modules/<linux_version>/ on your system that was having trouble?

I am just wondering why my patch prioritized module-assistant created
kernel module (in kernel/updates) over the one that comes with linux
kernel itself. I guess this is the problem you are seeing here again,

More information about the dev mailing list