summaryrefslogtreecommitdiff
path: root/ofproto
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:08:52 -0700
commit1c313b88e1ba908b4f30ce2b3702d57e8f4d9a38 (patch)
treeff8d8a3ecd4f88d0094ace375a4198326e0c5fb5 /ofproto
parent2d334ac8836a014e88c84dca63145e300d662872 (diff)
downloadopenvswitch-1c313b88e1ba908b4f30ce2b3702d57e8f4d9a38.tar.gz
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.
Diffstat (limited to 'ofproto')
-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 3fd95ea6e..414c82baf 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()");