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 <[email protected]> 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 <[email protected]> --- 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 _______________________________________________ discuss mailing list [email protected] http://openvswitch.org/mailman/listinfo/discuss
