diff options
author | Huanhuan Wang <huanhuan.wang@corigine.com> | 2023-03-02 10:58:30 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-03-03 08:28:44 +0000 |
commit | 1cf78d4c4144ffdbc2c9d505db482cb204bb480b (patch) | |
tree | 29bd067803d4c21c6525694833391e5e1960bb42 /drivers | |
parent | 8b46168ca79c3aad04bc20605e523127266624d4 (diff) | |
download | linux-1cf78d4c4144ffdbc2c9d505db482cb204bb480b.tar.gz linux-1cf78d4c4144ffdbc2c9d505db482cb204bb480b.tar.bz2 linux-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')
-rw-r--r-- | drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 4 |
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): |