Re: [External] : [v2, net-next 07/12] bng_en: Add TPA related functions
From: Bhargava Chenna Marreddy
Date: Mon Nov 24 2025 - 13:09:00 EST
On Wed, Nov 19, 2025 at 5:58 PM ALOK TIWARI <alok.a.tiwari@xxxxxxxxxx> wrote:
>
>
>
> On 11/15/2025 1:22 AM, Bhargava Marreddy wrote:
> > +#define TPA_END_AGG_ID(rx_tpa_end) \
> > + ((le32_to_cpu((rx_tpa_end)->rx_tpa_end_cmp_misc_v1) & \
> > + RX_TPA_END_CMP_AGG_ID) >> RX_TPA_END_CMP_AGG_ID_SHIFT)
> > +
> > +#define TPA_END_TPA_SEGS(rx_tpa_end) \
> > + ((le32_to_cpu((rx_tpa_end)->rx_tpa_end_cmp_misc_v1) & \
> > + RX_TPA_END_CMP_TPA_SEGS) >> RX_TPA_END_CMP_TPA_SEGS_SHIFT)
> > +
> > +#define RX_TPA_END_CMP_FLAGS_PLACEMENT_ANY_GRO \
> > + cpu_to_le32(RX_TPA_END_CMP_FLAGS_PLACEMENT_GRO_JUMBO & \
> > + RX_TPA_END_CMP_FLAGS_PLACEMENT_GRO_HDS)
>
> why ANY_GRO mark with &, how does this match GRO type
> similar code present in bnxt.
AND‐ing GRO_JUMBO and GRO_HDS gives a non-zero result (the GRO bit
overlaps), so ANY_GRO is correct.
Thanks,
Bhargava Marreddy
>
> > +
> > +#define TPA_END_GRO(rx_tpa_end) \
> > + ((rx_tpa_end)->rx_tpa_end_cmp_len_flags_type & \
> > + RX_TPA_END_CMP_FLAGS_PLACEMENT_ANY_GRO)
> > +
> > +#define TPA_END_GRO_TS(rx_tpa_end) \
> > + (!!((rx_tpa_end)->rx_tpa_end_cmp_tsdelta & \
> > + cpu_to_le32(RX_TPA_END_GRO_TS)))
> > +
> > +struct rx_tpa_end_cmp_ext {
> > + __le32 rx_tpa_end_cmp_dup_acks;
> > + #define RX_TPA_END_CMP_TPA_DUP_ACKS (0xf << 0)
> > + #define RX_TPA_END_CMP_PAYLOAD_OFFSET_P5 (0xff << 16)
> > + #define RX_TPA_END_CMP_PAYLOAD_OFFSET_SHIFT_P5 16
> > + #define RX_TPA_END_CMP_AGG_BUFS_P5 (0xff << 24)
> > + #define RX_TPA_END_CMP_AGG_BUFS_SHIFT_P5 24
> > +
>
>
> Thanks,
> Alok
Attachment:
smime.p7s
Description: S/MIME Cryptographic Signature