This change handles a corner case where local mac entries are not cleared if a vlan binding is deleted while the emulator is not running. The fix is to clean up the local mac entries once on restart.
Reported-by: Hsin-Yi Shen <[email protected]> Signed-off-by: Anupam Chanda <[email protected]> --- AUTHORS | 1 + vtep/ovs-vtep | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/AUTHORS b/AUTHORS index c5c9d51..5a3e826 100644 --- a/AUTHORS +++ b/AUTHORS @@ -295,6 +295,7 @@ Hemanth Kumar Mantri [email protected] Henrik Amren [email protected] Hiroshi Tanaka [email protected] Hiroshi Miyata [email protected] +Hsin-Yi Shen [email protected] Hyojoon Kim [email protected] Ian Stokes [email protected] Igor Ganichev [email protected] diff --git a/vtep/ovs-vtep b/vtep/ovs-vtep index 46a5692..3244520 100755 --- a/vtep/ovs-vtep +++ b/vtep/ovs-vtep @@ -651,6 +651,13 @@ def setup(): else: ovs_vsctl("add-br %s" % bfd_bridge) + # Remove local-mac entries from the previous run. Otherwise, if a vlan + # binding is removed while the emulator is *not* running, the corresponding + # local-mac entries are never cleaned up. + vtep_ls = set(vtep_ctl("list-ls").split()) + for ls_name in vtep_ls: + vtep_ctl("clear-local-macs %s" % ls_name) + def main(): parser = argparse.ArgumentParser() -- 1.7.9.5 _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
