qede: fix offload for IPIP tunnel packets
[ Upstream commit 5d5647dad259bb416fd5d3d87012760386d97530 ] IPIP tunnels packets are unknown to device, hence these packets are incorrectly parsed and caused the packet corruption, so disable offlods for such packets at run time. Signed-off-by: Manish Chopra <manishc@marvell.com> Signed-off-by: Sudarsana Kalluru <skalluru@marvell.com> Signed-off-by: Igor Russkikh <irusskikh@marvell.com> Link: https://lore.kernel.org/r/20201221145530.7771-1-manishc@marvell.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8009f6bb13
commit
5404192a87
@ -1737,6 +1737,11 @@ netdev_features_t qede_features_check(struct sk_buff *skb,
|
||||
ntohs(udp_hdr(skb)->dest) != gnv_port))
|
||||
return features & ~(NETIF_F_CSUM_MASK |
|
||||
NETIF_F_GSO_MASK);
|
||||
} else if (l4_proto == IPPROTO_IPIP) {
|
||||
/* IPIP tunnels are unknown to the device or at least unsupported natively,
|
||||
* offloads for them can't be done trivially, so disable them for such skb.
|
||||
*/
|
||||
return features & ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user