On Fri, Nov 10, 2017 at 12:23:37PM -0800, William Tu wrote:
> >> After the dpif-netlink-rtnl, a tunnel device can be created by using
> >> rtnetlink, so the creation of fb device comes from the ovs-vswitchd
> >> instead of going through OVS kernel modules.  This breaks the module
> >> dependency between 1) and 2).  As a result, when ovs-vswitchd is running,
> >> the 'lsmod' shows:
> >>   geneve                 27326  1 vport_geneve
> >>   vport_geneve           12560  0
> >>   openvswitch           172469  1 vport_geneve
> >
> > Which is correct. vport_geneve is not using geneve. If anything is using
> 
> Actually vport_geneve is using geneve. (Please correct me if I'm wrong)
> If we're using upstream tunnel (USE_UPSTREAM_TUNNEL=yes)
> then vport_geneve calls into kernel's geneve_dev_create_fb(), so it
> has symbol dependency.

Sure, but by that logic the compat interface is also broken in the same
way. I think if you start OVS with an empty config (no geneve tunnel
created), then you should have the same ref counts as above. You can
manually unload vport_geneve.

When USE_UPSTREAM_TUNNEL=yes OVS _does not_ functionally use
vport_geneve. It gets loaded because that's what OVS startup scripts do.
You can delete vport_geneve.ko and everything with still function with
the rtnetlink interface. I suggest renaming them, running depmod, and
giving it a try.

> If USE_UPSTREAM_TUNNEL=no, then geneve_dev_create_fb is replaced with rpl_xxx,
> then no dependency.

Agree. No dependency on in-kernel geneve driver.

> Can we say that if (OVS version == 2.8 && USE_UPSTREAM_TUNNEL=yes),
> then we don't need any vport-xxx implementation and we can remove these code?

Yes! But we still support older kernels (I think < 4.5-ish) that don't
support all the necessary features for tunnels. As such the OVS shipped
drivers will be around for awhile.
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to