[ovs-dev] [PATCH 0/3] revert port duplicate checking optimization

Flavio Leitner fbl at sysclose.org
Thu Dec 13 14:30:47 UTC 2018


This should be applied to branch-2.10 as well.

(BTW, I had CC few folks in the patchset, but I am only seeing Guru, so
 I am adding them to this email just in case)

Thanks,
fbl

On Thu, Dec 13, 2018 at 12:24:45PM -0200, Flavio Leitner wrote:
> The optimization introduced a regression in OSP environments using
> internal ports in other netns. Their networking configuration is lost
> when the service is restarted because the ports are recreated now.
> 
> Before the patch it checked using netlink if the port with a specific
> "name" was already there. The check is a lookup in all ports attached
> to the DP regardless of the port's netns.
> 
> After the patch it relies on the kernel to identify that situation.
> Unfortunately the only protection there is register_netdevice() which
> fails only if the port with that name exists in the current netns.
> 
> If the port is in another netns, it will get a new dp_port and because
> of that userspace will delete the old port. At this point the original
> port is gone from the other netns and there a fresh port in the current
> netns.
> 
> This patchset reverts the original commit and the two other follow ups.
> 
> Flavio Leitner (3):
>   Revert "dpif-netlink: Don't destroy and recreate port if it exists"
>   Revert "ofproto-dpif: Check for EBUSY as well"
>   Revert "ofproto-dpif: Let the dpif report when a port is a duplicate."
> 
>  lib/dpif-netlink.c     | 4 ++--
>  lib/dpif.c             | 9 ++-------
>  ofproto/ofproto-dpif.c | 7 ++++---
>  3 files changed, 8 insertions(+), 12 deletions(-)
> 
> -- 
> 2.17.2



More information about the dev mailing list