• Maxime Chevallier's avatar
    net: mvpp2: debugfs: add classifier hit counters · f9d30d5b
    Maxime Chevallier authored
    The classification operations that are used for RSS make use of several
    lookup tables. Having hit counters for these tables is really helpful
    to determine what flows were matched by ingress traffic, and see the
    path of packets among all the classifier tables.
    
    This commit adds hit counters for the 3 tables used at the moment :
    
     - The decoding table (also called lookup_id table), that links flows
       identified by the Header Parser to the flow table.
    
       There's one entry per flow, located at :
       .../mvpp2/<controller>/flows/XX/dec_hits
    
       Note that there are 21 flows in the decoding table, whereas there are
       52 flows in the Header Parser. That's because there are several kind
       of traffic that will match a given flow. Reading the hit counter from
       one sub-flow will clear all hit counter that have the same flow_id.
    
       This also applies to the flow_hits.
    
     - The flow table, that contains all the different lookups to be
       performed by the classifier for each packet of a given flow. The match
       is done on the first entry of the flow sequence.
    
     - The C2 engine entries, that are used to assign the default rx queue,
       and enable or disable RSS for a given port.
    
       There's one entry per flow, located at:
       .../mvpp2/<controller>/flows/XX/flow_hits
    
       There is one C2 entry per port, so the c2 hit counter is located at :
       .../mvpp2/<controller>/ethX/c2_hits
    
    All hit counter values are 16-bits clear-on-read values.
    Signed-off-by: default avatarMaxime Chevallier <maxime.chevallier@bootlin.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f9d30d5b
mvpp2_debugfs.c 16 KB