net/ipv6: 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 GSO 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> Link: https://patch.msgid.link/20260205133925.526371-5-alice.kernel@fastmail.im Signed-off-by: Jakub Kicinski <kuba@kernel.org>master
parent
81be30c1f5
commit
1676ebba39
|
|
@ -3813,8 +3813,7 @@ static netdev_features_t gso_features_check(const struct sk_buff *skb,
|
|||
(skb_shinfo(skb)->gso_type & SKB_GSO_UDP_L4 &&
|
||||
vlan_get_protocol(skb) == htons(ETH_P_IPV6))) &&
|
||||
skb_transport_header_was_set(skb) &&
|
||||
skb_network_header_len(skb) != sizeof(struct ipv6hdr) &&
|
||||
!ipv6_has_hopopt_jumbo(skb))
|
||||
skb_network_header_len(skb) != sizeof(struct ipv6hdr))
|
||||
features &= ~(NETIF_F_IPV6_CSUM | NETIF_F_TSO6 | NETIF_F_GSO_UDP_L4);
|
||||
|
||||
return features;
|
||||
|
|
@ -3917,8 +3916,7 @@ int skb_csum_hwoffload_help(struct sk_buff *skb,
|
|||
|
||||
if (features & (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM)) {
|
||||
if (vlan_get_protocol(skb) == htons(ETH_P_IPV6) &&
|
||||
skb_network_header_len(skb) != sizeof(struct ipv6hdr) &&
|
||||
!ipv6_has_hopopt_jumbo(skb))
|
||||
skb_network_header_len(skb) != sizeof(struct ipv6hdr))
|
||||
goto sw_checksum;
|
||||
|
||||
switch (skb->csum_offset) {
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb,
|
|||
struct sk_buff *segs = ERR_PTR(-EINVAL);
|
||||
struct ipv6hdr *ipv6h;
|
||||
const struct net_offload *ops;
|
||||
int proto, err;
|
||||
int proto;
|
||||
struct frag_hdr *fptr;
|
||||
unsigned int payload_len;
|
||||
u8 *prevhdr;
|
||||
|
|
@ -104,9 +104,6 @@ static struct sk_buff *ipv6_gso_segment(struct sk_buff *skb,
|
|||
bool gso_partial;
|
||||
|
||||
skb_reset_network_header(skb);
|
||||
err = ipv6_hopopt_jumbo_remove(skb);
|
||||
if (err)
|
||||
return ERR_PTR(err);
|
||||
nhoff = skb_network_header(skb) - skb_mac_header(skb);
|
||||
if (unlikely(!pskb_may_pull(skb, sizeof(*ipv6h))))
|
||||
goto out;
|
||||
|
|
|
|||
Loading…
Reference in New Issue