aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-08-19 14:29:27 -0700
committerBen Pfaff <blp@nicira.com>2011-08-19 15:23:20 -0700
commit003c21671fc68fa8bcd06844a7fb8c14f525e8b1 (patch)
treed08a0622bf5dc0b2f7e605e8c923281f5df846d7
parent7e371e0d12d9cfa4bf020b455eb947fae0622215 (diff)
ofproto-dpif: Delete MAC learning entries when they expire.
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.
-rw-r--r--ofproto/ofproto-dpif.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c
index 633d0d44e..8a175dc9d 100644
--- a/ofproto/ofproto-dpif.c
+++ b/ofproto/ofproto-dpif.c
@@ -564,6 +564,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)) {
@@ -611,6 +613,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()");