diff options
author | Eelco Chaudron <echaudro@redhat.com> | 2018-06-25 12:57:26 +0200 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2018-07-06 14:26:20 -0700 |
commit | 5f3818f1c601d006a53a2a2d71faecfc223163b4 (patch) | |
tree | 97f32550f4796ff1e0cb68ab345cd82aac74629c /lib/mac-learning.c | |
parent | 04f803fddc8df4312cc2bef6ed8a7c4d000990d9 (diff) | |
download | openvswitch-5f3818f1c601d006a53a2a2d71faecfc223163b4.tar.gz |
mac-learning: Add additional mac-learning coverage counters
This patch adds two additional mac-learning coverage counters:
- mac_learning_evicted, entries deleted due to mac table being full
- mac_learning_moved, entries where the port has changed.
Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'lib/mac-learning.c')
-rw-r--r-- | lib/mac-learning.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/mac-learning.c b/lib/mac-learning.c index 215caf0ba..8b7981dbb 100644 --- a/lib/mac-learning.c +++ b/lib/mac-learning.c @@ -32,6 +32,8 @@ COVERAGE_DEFINE(mac_learning_learned); COVERAGE_DEFINE(mac_learning_expired); +COVERAGE_DEFINE(mac_learning_evicted); +COVERAGE_DEFINE(mac_learning_moved); /* Returns the number of seconds since 'e' (within 'ml') was last learned. */ int @@ -150,6 +152,7 @@ evict_mac_entry_fairly(struct mac_learning *ml) struct mac_learning_port, heap_node); e = CONTAINER_OF(ovs_list_front(&mlport->port_lrus), struct mac_entry, port_lru_node); + COVERAGE_INC(mac_learning_evicted); mac_learning_expire(ml, e); } @@ -421,6 +424,9 @@ update_learning_table__(struct mac_learning *ml, struct eth_addr src, } if (mac_entry_get_port(ml, mac) != in_port) { + if (mac_entry_get_port(ml, mac) != NULL) { + COVERAGE_INC(mac_learning_moved); + } mac_entry_set_port(ml, mac, in_port); return true; } |