Re: [PATCH net 2/2] bnxt_en: Pad short SW USO segments to BNXT_MIN_PKT_SIZE

From: Michael Chan

Date: Fri Oct 09 2026 - 01:26:29 EST


On Thu, Oct 8, 2026 at 12:11 PM Joe Damato <joe@xxxxxxx> wrote:

> diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
> index ef04c9d08066..f87e02ef3033 100644
> --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
> +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
> @@ -82,11 +82,14 @@ int bnxt_sw_udp_gso_xmit(struct bnxt *bp, struct bnxt_tx_ring_info *txr,
> if (unlikely(num_segs <= 1))
> goto drop;
>
> + if (unlikely(bnxt_sw_gso_pad_len(hdr_len, mss)))
> + goto drop;
> +

This looks redundant since you already have the same check in
bnxt_features_check().

> /* Upper bound on the number of descriptors needed.
> *
> * Each segment uses 1 long BD + 1 ext BD + payload BDs, which is
> * at most num_segs + nr_frags (each frag boundary crossing adds at
> - * most 1 extra BD).
> + * most 1 extra BD). The last segment may need 1 pad BD.
> */
> bds_needed = 3 * num_segs + skb_shinfo(skb)->nr_frags + 1;

I don't quite understand why we don't need to add 1 more for possible
padding here.
Thanks.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature