[ovs-dev] [PATCH] ofproto-dpif: Delete MAC learning entries when they expire.

Ben Pfaff blp at nicira.com
Fri Aug 19 22:10:01 UTC 2011


Commit fa066f015f716c7 "bridge: Move packet processing functionality into
ofproto" deleted the call to mac_learning_run() that deletes MAC learning
table entries when they expire.  This fixes the problem.
---
 ofproto/ofproto-dpif.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 3fd95ea..414c82b 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -559,6 +559,8 @@ run(struct ofproto *ofproto_)
         bundle_run(bundle);
     }
 
+    mac_learning_run(ofproto->ml, &ofproto->revalidate_set);
+
     /* Now revalidate if there's anything to do. */
     if (ofproto->need_revalidate
         || !tag_set_is_empty(&ofproto->revalidate_set)) {
@@ -606,6 +608,7 @@ wait(struct ofproto *ofproto_)
     HMAP_FOR_EACH (bundle, hmap_node, &ofproto->bundles) {
         bundle_wait(bundle);
     }
+    mac_learning_wait(ofproto->ml);
     if (ofproto->need_revalidate) {
         /* Shouldn't happen, but if it does just go around again. */
         VLOG_DBG_RL(&rl, "need revalidate in ofproto_wait_cb()");
-- 
1.7.4.4




More information about the dev mailing list