summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorHuanhuan Wang <huanhuan.wang@corigine.com>2023-03-02 10:58:30 +0100
committerDavid S. Miller <davem@davemloft.net>2023-03-03 08:28:44 +0000
commit1cf78d4c4144ffdbc2c9d505db482cb204bb480b (patch)
tree29bd067803d4c21c6525694833391e5e1960bb42 /drivers/net
parent8b46168ca79c3aad04bc20605e523127266624d4 (diff)
downloadlinux-stable-1cf78d4c4144ffdbc2c9d505db482cb204bb480b.tar.gz
linux-stable-1cf78d4c4144ffdbc2c9d505db482cb204bb480b.tar.bz2
linux-stable-1cf78d4c4144ffdbc2c9d505db482cb204bb480b.zip
nfp: fix esp-tx-csum-offload doesn't take effect
When esp-tx-csum-offload is set to on, the protocol stack shouldn't calculate the IPsec offload packet's csum, but it does. Because the callback `.ndo_features_check` incorrectly masked NETIF_F_CSUM_MASK bit. Fixes: 57f273adbcd4 ("nfp: add framework to support ipsec offloading") Signed-off-by: Huanhuan Wang <huanhuan.wang@corigine.com> Signed-off-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/netronome/nfp/nfp_net_common.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
index 81b7ca0ad222..62f0bf91d1e1 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c
@@ -38,6 +38,7 @@
#include <net/tls.h>
#include <net/vxlan.h>
#include <net/xdp_sock_drv.h>
+#include <net/xfrm.h>
#include "nfpcore/nfp_dev.h"
#include "nfpcore/nfp_nsp.h"
@@ -1897,6 +1898,9 @@ nfp_net_features_check(struct sk_buff *skb, struct net_device *dev,
features &= ~NETIF_F_GSO_MASK;
}
+ if (xfrm_offload(skb))
+ return features;
+
/* VXLAN/GRE check */
switch (vlan_get_protocol(skb)) {
case htons(ETH_P_IP):