Commit 788eb4de authored by Breno Leitao's avatar Breno Leitao Committed by Jakub Kicinski
Browse files

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: default avatarJoe Damato <joe@dama.to>
Signed-off-by: default avatarBreno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20250618-netdevsim_stat-v4-2-19fe0d35e28e@debian.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent f9e2511d
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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;