net: core: add helper tcp_v6_gso_csum_prep
Several network drivers for chips that support TSO6 share the same code for preparing the TCP header, so let's factor it out to a helper. A difference is that some drivers reset the payload_len whilst others don't do this. This value is overwritten by TSO anyway, therefore the new helper resets it in general. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Reviewed-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9cb8e048e5
commit
76eeb12b71
|
@ -76,6 +76,15 @@ static inline void __tcp_v6_send_check(struct sk_buff *skb,
|
|||
}
|
||||
}
|
||||
|
||||
static inline void tcp_v6_gso_csum_prep(struct sk_buff *skb)
|
||||
{
|
||||
struct ipv6hdr *ipv6h = ipv6_hdr(skb);
|
||||
struct tcphdr *th = tcp_hdr(skb);
|
||||
|
||||
ipv6h->payload_len = 0;
|
||||
th->check = ~tcp_v6_check(0, &ipv6h->saddr, &ipv6h->daddr, 0);
|
||||
}
|
||||
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
static inline void tcp_v6_send_check(struct sock *sk, struct sk_buff *skb)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue