On 2 November 2015 at 13:08, Saurabh Mohan <saur...@cplanenetworks.com> wrote:
> On 10/16/2015 01:55 PM, Saurabh Mohan wrote: > >> On 10/16/2015 11:32 AM, Ansis Atteka wrote: >> >>> On Thu, Oct 15, 2015 at 4:52 PM, Saurabh Mohan >>> <saur...@cplanenetworks.com> wrote: >>> >>>> On 10/15/2015 01:55 PM, Ansis Atteka wrote: >>>> >>>>> >>>>> On Wed, Oct 14, 2015 at 5:33 PM, Saurabh Mohan >>>>> <saur...@cplanenetworks.com> wrote: >>>>> >>>>>> >>>>>> On 10/14/2015 04:58 PM, Ansis Atteka wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Oct 14, 2015 at 4:08 PM, Ben Pfaff <b...@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 <b...@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 <saur...@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 <aatt...@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? >>>>> >>>>> root@test01-1:/lib/modules# find . -name openvswitch.ko -print >>>> ./3.13.0-32-generic/kernel/net/openvswitch/openvswitch.ko >>>> ./3.13.0-32-generic/updates/openvswitch.ko >>>> >>>> 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, >>>>> right? >>>>> >>>> >>>> yes, we were seeing the same problem. >>>> my observation was that if we put the module under directory >>>> <kernel>/updates then depmod would still select >>>> <kernel>/net/openvswitch/openvswitch.ko >>>> >>> >>> Ok, give me some time to test this on Debian as well, because IIRC >>> Debian does not have /etc/depmod.conf file and I am not sure what is >>> the exact depmod logic there. Assuming it will work there I will push >>> your patch. >>> >>> thanks. >> > > i tried debian jessie, uname -r == 3.16.0-4. it does not have > /etc/depmod.d/*conf. > I was able to confirm that depmod -a does select > /lib/modules/<ker-ver>/updates/openvswitch.ko > over /lib/moduels/<ker-ver>/kernel/net/openvswitch/openvswitch.ko > > it looks like the patch would work for both debian and ubuntu. > > thanks. > Thanks for contributing. I added you to AUTHORS file and pushed your patch back to branch 2.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev