On Thu, 5 Feb 2026 14:44:53 -0800 Michael Chan wrote:
> On Thu, Feb 5, 2026 at 2:07 PM Jakub Kicinski <[email protected]> wrote:
> >
> > Count and report HW-GRO stats as seen by the kernel.
> > The device stats for GRO seem to not reflect the reality,
> > perhaps they count sessions which did not actually result
> > in any aggregation.
>
> Yes, the HW count includes single packets without additional
> aggregations. In the driver, when we see only 1 segment, we treat it
> as a non GRO packet. That's likely the discrepancy you're seeing.
>
> Also, for completeness, should we count LRO packets as well?
Not in this counter:
-
name: rx-hw-gro-wire-packets
doc: |
Number of packets that were coalesced to bigger packetss with the
HW-GRO netdevice feature. LRO-coalesced packets are not counted.
I don't think we have a counter defined for LRO, yet.
> > @@ -1814,6 +1815,11 @@ static inline struct sk_buff *bnxt_gro_skb(struct
> > bnxt *bp,
> > if (segs == 1)
> > return skb;
> >
> > + if (bp->dev->features & NETIF_F_GRO_HW) {
>
> If we enter this function, NETIF_F_GRO_HW should always be true.
Ah, I see it now.. will drop the condition.