mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
net: aquantia: fix rx checksum offload for UDP/TCP over IPv6
[ Upstream commita7faaa0c5d] TCP/UDP checksum validity was propagated to skb only if IP checksum is valid. But for IPv6 there is no validity as there is no checksum in IPv6. This patch propagates TCP/UDP checksum validity regardless of IP checksum. Fixes:018423e90b("net: ethernet: aquantia: Add ring support code") Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Nikita Danilov <nikita.danilov@aquantia.com> Signed-off-by: Dmitry Bogdanov <dmitry.bogdanov@aquantia.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c408426292
commit
e4ff39e1ba
@@ -186,11 +186,12 @@ static void aq_rx_checksum(struct aq_ring_s *self,
|
||||
}
|
||||
if (buff->is_ip_cso) {
|
||||
__skb_incr_checksum_unnecessary(skb);
|
||||
if (buff->is_udp_cso || buff->is_tcp_cso)
|
||||
__skb_incr_checksum_unnecessary(skb);
|
||||
} else {
|
||||
skb->ip_summed = CHECKSUM_NONE;
|
||||
}
|
||||
|
||||
if (buff->is_udp_cso || buff->is_tcp_cso)
|
||||
__skb_incr_checksum_unnecessary(skb);
|
||||
}
|
||||
|
||||
#define AQ_SKB_ALIGN SKB_DATA_ALIGN(sizeof(struct skb_shared_info))
|
||||
|
||||
Reference in New Issue
Block a user