bnxt_en: Remove jumbo_remove step from TX path

Now that the kernel doesn't insert HBH for BIG TCP IPv6 packets, remove
unnecessary steps from the bnxt_en TX path, that used to check and
remove HBH.

Signed-off-by: Alice Mikityanska <alice@isovalent.com>
Acked-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20260205133925.526371-9-alice.kernel@fastmail.im
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Alice Mikityanska 2026-02-05 15:39:21 +02:00 committed by Jakub Kicinski
parent 8b76102c5e
commit 3f1bff1d7f

View File

@ -517,9 +517,6 @@ static netdev_tx_t bnxt_start_xmit(struct sk_buff *skb, struct net_device *dev)
return NETDEV_TX_BUSY;
}
if (unlikely(ipv6_hopopt_jumbo_remove(skb)))
goto tx_free;
length = skb->len;
len = skb_headlen(skb);
last_frag = skb_shinfo(skb)->nr_frags;
@ -13881,7 +13878,6 @@ static bool bnxt_exthdr_check(struct bnxt *bp, struct sk_buff *skb, int nw_off,
u8 **nextp)
{
struct ipv6hdr *ip6h = (struct ipv6hdr *)(skb->data + nw_off);
struct hop_jumbo_hdr *jhdr;
int hdr_count = 0;
u8 *nexthdr;
int start;
@ -13910,24 +13906,7 @@ static bool bnxt_exthdr_check(struct bnxt *bp, struct sk_buff *skb, int nw_off,
if (hdrlen > 64)
return false;
/* The ext header may be a hop-by-hop header inserted for
* big TCP purposes. This will be removed before sending
* from NIC, so do not count it.
*/
if (*nexthdr == NEXTHDR_HOP) {
if (likely(skb->len <= GRO_LEGACY_MAX_SIZE))
goto increment_hdr;
jhdr = (struct hop_jumbo_hdr *)hp;
if (jhdr->tlv_type != IPV6_TLV_JUMBO || jhdr->hdrlen != 0 ||
jhdr->nexthdr != IPPROTO_TCP)
goto increment_hdr;
goto next_hdr;
}
increment_hdr:
hdr_count++;
next_hdr:
nexthdr = &hp->nexthdr;
start += hdrlen;
}