[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