aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/ethernet/freescale/fec.h
diff options
context:
space:
mode:
authorShenwei Wang <shenwei.wang@nxp.com>2022-11-11 09:35:05 -0600
committerDavid S. Miller <davem@davemloft.net>2022-11-14 11:28:55 +0000
commit6970ef27ff7fd1ce3455b2c696081503d0c0f8ac (patch)
tree4a3ee9957f74d97adc2c9a00dc92add6e2043d00 /drivers/net/ethernet/freescale/fec.h
parentMerge branch 'sparx5-sorted-VCAP-rules' (diff)
downloadwireguard-linux-6970ef27ff7fd1ce3455b2c696081503d0c0f8ac.tar.xz
wireguard-linux-6970ef27ff7fd1ce3455b2c696081503d0c0f8ac.zip
net: fec: add xdp and page pool statistics
Added xdp and page pool statistics. In order to make the implementation simple and compatible, the patch uses the 32bit integer to record the XDP statistics. Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com> Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/freescale/fec.h')
-rw-r--r--drivers/net/ethernet/freescale/fec.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h
index 61e847b18343..5ba1e0d71c68 100644
--- a/drivers/net/ethernet/freescale/fec.h
+++ b/drivers/net/ethernet/freescale/fec.h
@@ -526,6 +526,19 @@ struct fec_enet_priv_txrx_info {
struct sk_buff *skb;
};
+enum {
+ RX_XDP_REDIRECT = 0,
+ RX_XDP_PASS,
+ RX_XDP_DROP,
+ RX_XDP_TX,
+ RX_XDP_TX_ERRORS,
+ TX_XDP_XMIT,
+ TX_XDP_XMIT_ERRORS,
+
+ /* The following must be the last one */
+ XDP_STATS_TOTAL,
+};
+
struct fec_enet_priv_tx_q {
struct bufdesc_prop bd;
unsigned char *tx_bounce[TX_RING_SIZE];
@@ -546,6 +559,7 @@ struct fec_enet_priv_rx_q {
/* page_pool */
struct page_pool *page_pool;
struct xdp_rxq_info xdp_rxq;
+ u32 stats[XDP_STATS_TOTAL];
/* rx queue number, in the range 0-7 */
u8 id;