]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bnxt_en: Remove jumbo_remove step from TX path
authorAlice Mikityanska <alice@isovalent.com>
Thu, 5 Feb 2026 13:39:21 +0000 (15:39 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 7 Feb 2026 04:50:12 +0000 (20:50 -0800)
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>
drivers/net/ethernet/broadcom/bnxt/bnxt.c

index 466e0fc6141f129f5f662e18462fe2fb1927b9a7..7d63d6b0d2c2ac46fce68af1e898fecc7f8e1050 100644 (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;
        }