mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
netdevsim: collect statistics at RX side
When the RX side of netdevsim was added, the RX statistics were missing, making the driver unusable for GenerateTraffic() test framework. This patch adds proper statistics tracking on RX side, complementing the TX path. Reviewed-by: Joe Damato <joe@dama.to> Signed-off-by: Breno Leitao <leitao@debian.org> Link: https://patch.msgid.link/20250618-netdevsim_stat-v4-2-19fe0d35e28e@debian.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
f9e2511d80
commit
788eb4de60
@@ -331,16 +331,24 @@ static int nsim_get_iflink(const struct net_device *dev)
|
||||
|
||||
static int nsim_rcv(struct nsim_rq *rq, int budget)
|
||||
{
|
||||
struct net_device *dev = rq->napi.dev;
|
||||
struct sk_buff *skb;
|
||||
int i;
|
||||
unsigned int skblen;
|
||||
int i, ret;
|
||||
|
||||
for (i = 0; i < budget; i++) {
|
||||
if (skb_queue_empty(&rq->skb_queue))
|
||||
break;
|
||||
|
||||
skb = skb_dequeue(&rq->skb_queue);
|
||||
/* skb might be discard at netif_receive_skb, save the len */
|
||||
skblen = skb->len;
|
||||
skb_mark_napi_id(skb, &rq->napi);
|
||||
netif_receive_skb(skb);
|
||||
ret = netif_receive_skb(skb);
|
||||
if (ret == NET_RX_SUCCESS)
|
||||
dev_dstats_rx_add(dev, skblen);
|
||||
else
|
||||
dev_dstats_rx_dropped(dev);
|
||||
}
|
||||
|
||||
return i;
|
||||
|
||||
Reference in New Issue
Block a user