net/ixgbe: add query rule stats support for FDIR
authorWei Zhao <wei.zhao1@intel.com>
Wed, 13 Jun 2018 08:08:50 +0000 (16:08 +0800)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 2 Jul 2018 23:35:57 +0000 (01:35 +0200)
There are many registeres in x550 support stats of
flow director filters, for example the number of added
or removed rules and the number match or miss match packet
count for this for port, all these important information
can be read form registeres in x550 and display with command
xstats.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
drivers/net/ixgbe/ixgbe_ethdev.c

index 87d2ad0..a3ddfe2 100644 (file)
@@ -3120,9 +3120,18 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
        }
 
        /* Flow Director Stats registers */
-       hw_stats->fdirmatch += IXGBE_READ_REG(hw, IXGBE_FDIRMATCH);
-       hw_stats->fdirmiss += IXGBE_READ_REG(hw, IXGBE_FDIRMISS);
-
+       if (hw->mac.type != ixgbe_mac_82598EB) {
+               hw_stats->fdirmatch += IXGBE_READ_REG(hw, IXGBE_FDIRMATCH);
+               hw_stats->fdirmiss += IXGBE_READ_REG(hw, IXGBE_FDIRMISS);
+               hw_stats->fdirustat_add += IXGBE_READ_REG(hw,
+                                       IXGBE_FDIRUSTAT) & 0xFFFF;
+               hw_stats->fdirustat_remove += (IXGBE_READ_REG(hw,
+                                       IXGBE_FDIRUSTAT) >> 16) & 0xFFFF;
+               hw_stats->fdirfstat_fadd += IXGBE_READ_REG(hw,
+                                       IXGBE_FDIRFSTAT) & 0xFFFF;
+               hw_stats->fdirfstat_fremove += (IXGBE_READ_REG(hw,
+                                       IXGBE_FDIRFSTAT) >> 16) & 0xFFFF;
+       }
        /* MACsec Stats registers */
        macsec_stats->out_pkts_untagged += IXGBE_READ_REG(hw, IXGBE_LSECTXUT);
        macsec_stats->out_pkts_encrypted +=