Message ID | 1e81b700642498546eaa3f298e023fd7ad394f85.1610776757.git.lucien.xin@gmail.com |
---|---|
State | New |
Headers | show |
Series | [net-next] udp: not remove the CRC flag from dev features when need_csum is false | expand |
Hello: This patch was applied to netdev/net-next.git (refs/heads/master): On Sat, 16 Jan 2021 13:59:17 +0800 you wrote: > In __skb_udp_tunnel_segment(), when it's a SCTP over VxLAN/GENEVE > packet and need_csum is false, which means the outer udp checksum > doesn't need to be computed, csum_start and csum_offset could be > used by the inner SCTP CRC CSUM for SCTP HW CRC offload. > > So this patch is to not remove the CRC flag from dev features when > need_csum is false. > > [...] Here is the summary with links: - [net-next] udp: not remove the CRC flag from dev features when need_csum is false https://git.kernel.org/netdev/net-next/c/4eb5d4a5b4d6 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c index ff39e94..1168d18 100644 --- a/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c @@ -68,8 +68,8 @@ static struct sk_buff *__skb_udp_tunnel_segment(struct sk_buff *skb, (NETIF_F_HW_CSUM | NETIF_F_IP_CSUM)))); features &= skb->dev->hw_enc_features; - /* CRC checksum can't be handled by HW when it's a UDP tunneling packet. */ - features &= ~NETIF_F_SCTP_CRC; + if (need_csum) + features &= ~NETIF_F_SCTP_CRC; /* The only checksum offload we care about from here on out is the * outer one so strip the existing checksum feature flags and
In __skb_udp_tunnel_segment(), when it's a SCTP over VxLAN/GENEVE packet and need_csum is false, which means the outer udp checksum doesn't need to be computed, csum_start and csum_offset could be used by the inner SCTP CRC CSUM for SCTP HW CRC offload. So this patch is to not remove the CRC flag from dev features when need_csum is false. Signed-off-by: Xin Long <lucien.xin@gmail.com> --- net/ipv4/udp_offload.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)