[ovs-dev] [PATCH 0/5] mac-learning: Add additional counters for troubleshooting aid

Eelco Chaudron echaudro at redhat.com
Mon Jun 25 10:57:08 UTC 2018

This series add some additional counters that make FDB debugging easier.
The following counters now exists on a per mac_learning instance, and
the last two have also been added as coverage counters.

learned: Total number of learned MAC entries
expired: Total number of expired MAC entries
evicted: Total number of evicted MAC entries, i.e. entries moved
         out due to the table being full.
moved  : Total number of port moved MAC entries, i.e. entries
         where the MAC address moved to a different port.

Take the example where you have an FDB table size configured which is
to small.

The effect of this is a high CPU utilization of the revalidator threads.
The firs clue is the rev_mac_learning revalidator reason coverage counter.

Than looking at the mac_learning_learned counter you know a lot of
learning is going on but no reason why. The new mac_learning_evicted
counter quickly shows it's related to entries being evicted.

Currently you have to do this by taking muliple copies of the FDB table
and compare them.

Eelco Chaudron (5):
      mac-learning: Add additional mac-learning coverage counters
      mac-learning: Add per mac learning instance counters
      utilities: Update gdb script to include mac_learning counters
      ofproto: Add CLI commands to show and clear mac_learning statistics
      vswitchd: Document new fdb statistics commands

 lib/mac-learning.c         |   23 +++++++++++++++
 lib/mac-learning.h         |    7 +++++
 ofproto/ofproto-dpif.c     |   67 ++++++++++++++++++++++++++++++++++++++++++++
 utilities/gdb/ovs_gdb.py   |    4 +++
 vswitchd/ovs-vswitchd.8.in |    5 +++
 5 files changed, 106 insertions(+)

More information about the dev mailing list