[ovs-dev] [ovs-discuss] Port not deleted from fake bridge if tap is deleted. Works on regular bridge.

Ben Pfaff blp at nicira.com
Thu Sep 15 22:58:02 UTC 2011


Thanks a lot for testing this patch.  I committed this to master and
branch-1.2, so the bug fix will appear in 1.2.2 and in 1.3.0 (when
they are released).

On Wed, Sep 14, 2011 at 07:31:11PM -0500, Tyler Coumbes wrote:
> Sorry for the delay. I totally missed your email. I have tested the patch on
> 
> git rev-parse HEAD
> cc4015df5f24df80ad8ebf0ed965782b44964b4e
> 
> It worked great! Thank you for taking the time to look at and fix the issue!
> 
> Thanks,
> 
> Tyler
> 
> On Fri, Sep 9, 2011 at 2:31 PM, Ben Pfaff <blp at nicira.com> wrote:
> > On Tue, Aug 30, 2011 at 06:51:45PM -0500, Tyler Coumbes wrote:
> >> If you add a tap to a fake bridge(br101) and delete the tap without
> >> removing it from the bridge first ovs does not delete the port.
> >> If you add a tap to a regular bridge(br0) and delete the tap without
> >> removing it from the bridge ovs does as expected and deletes the port.
> >
> > Thank you for the bug report. ?I think I see the problem. ?Can you
> > test the following fix for me? ?Thank you.
> >
> > --8<--------------------------cut here-------------------------->8--
> >
> > From cf18ce3086472d19699b28e648226ebd23ae987a Mon Sep 17 00:00:00 2001
> > From: Ben Pfaff <blp at nicira.com>
> > Date: Fri, 9 Sep 2011 12:29:29 -0700
> > Subject: [PATCH] ovs-brcompatd: Delete ports when netdevs on fake bridges
> > ?disappear.
> >
> > Until now, when a network device disappeared, netdev_changed_cb() passed
> > the name of the bridge that contained the network device to ovs-vsctl as
> > part of the "del-port" command. ?However, when the network device was
> > actually a "fake bridge", it would pass the name of the real bridge, which
> > ovs-vsctl rejected as wrong (expecting the name of the fake bridge) and
> > not remove the port.
> >
> > This fixes the problem by dropping the bridge name, which is simpler than
> > trying to get the name of the fake bridge in this case.
> >
> > Reported-by: Tyler Coumbes <coumbes at gmail.com>
> > ---
> > ?vswitchd/ovs-brcompatd.c | ? ?2 +-
> > ?1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/vswitchd/ovs-brcompatd.c b/vswitchd/ovs-brcompatd.c
> > index 41187b1..bfa13ca 100644
> > --- a/vswitchd/ovs-brcompatd.c
> > +++ b/vswitchd/ovs-brcompatd.c
> > @@ -790,7 +790,7 @@ netdev_changed_cb(const struct rtnetlink_link_change *change,
> > ? ? ? ? ? ? ? port_name, br_name);
> >
> > ? ? run_vsctl(vsctl_program, VSCTL_OPTIONS,
> > - ? ? ? ? ? ? ?"--", "--if-exists", "del-port", br_name, port_name,
> > + ? ? ? ? ? ? ?"--", "--if-exists", "del-port", port_name,
> > ? ? ? ? ? ? ? "--", "comment", "ovs-brcompatd:", port_name, "disappeared",
> > ? ? ? ? ? ? ? (char *) NULL);
> > ?}
> > --
> > 1.7.4.4
> >
> >



More information about the dev mailing list