[ovs-dev] [PATCH] datapath: compat: fix kernel module reference count.

Gregory Rose gvrose8192 at gmail.com
Sat Nov 11 06:54:36 UTC 2017


On 11/11/2017 9:57 AM, William Tu wrote:
>>> yes, this is an artificial dependency. Another way I'm thinking is for
>>> ovs-vswitchd
>>>   to hold the geneve.ko dependency instead of openvswitch.ko, when user creates
>>> a geneve device. Is there a way to do that through rtnetlink or at
>>> dpif_netlink_rtnl_create()?
>> It should be vport-netdev doing the magic. It creates the linkage with
>> netdev_master_upper_dev_link(), but apparently that is not enough to
>> bump the kernel module refcnt and thus prevent unloading. Maybe you can
>> dig into why that is. AFAICS, it should be linking openvswitch.ko and
>> and geneve.ko with that call.
> Sure, will take a look.

I'm extremely uncomfortable with this approach of manually bumping a 
driver refcnt.
I worry we're going to get into a situation where the driver won't 
*unload*.  In a properly
configured system this shouldn't be necessary.  Driver dependencies 
shouldn't have to
be manually configured.

Why do we have a vport-geneve driver loaded when there is a geneve 
driver already
built in to the kernel?  What is the OVS vport-geneve driver providing 
that the built-in
kernel geneve driver does not provide?

- Greg



More information about the dev mailing list