diff options
author | Hans Petter Selasky <hselasky@FreeBSD.org> | 2021-06-16 13:01:25 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2021-07-12 09:34:39 +0000 |
commit | 1918b253d36a82ccc171df40d9abb75923f1ece5 (patch) | |
tree | 2005ab95046e384d9cdc44f083123f2831cf5ea4 /sys/dev/mlx5 | |
parent | 48acda2b2d6d173a2231a3db153dd4709dcb5276 (diff) | |
download | src-1918b253d36a82ccc171df40d9abb75923f1ece5.tar.gz src-1918b253d36a82ccc171df40d9abb75923f1ece5.zip |
mlx5en: Fix for IPv6 VxLAN checksum offload.
Add missing check for IPv6 mbuf offload flags and remove L3 WQE checksum flag for IPv6.
MFC after: 1 week
Reviewed by: kib
Sponsored by: Mellanox Technologies // NVIDIA Networking
Diffstat (limited to 'sys/dev/mlx5')
-rw-r--r-- | sys/dev/mlx5/mlx5_en/mlx5_en_tx.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c b/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c index 6bc0a91ca8ef..437910ee7964 100644 --- a/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c @@ -423,7 +423,7 @@ mlx5e_get_vxlan_header_size(const struct mbuf *mb, struct mlx5e_tx_wqe *wqe, if (unlikely(ip_type != IPPROTO_UDP)) return (0); wqe->eth.swp_outer_l3_offset = eth_hdr_len / 2; - wqe->eth.cs_flags = MLX5_ETH_WQE_L3_CSUM | MLX5_ETH_WQE_L4_CSUM; + wqe->eth.cs_flags = MLX5_ETH_WQE_L4_CSUM; eth_hdr_len += sizeof(*ip6); udp = mlx5e_parse_mbuf_chain(&mb, &offset, eth_hdr_len, sizeof(*udp)); @@ -483,7 +483,6 @@ mlx5e_get_vxlan_header_size(const struct mbuf *mb, struct mlx5e_tx_wqe *wqe, if (unlikely(ip6 == NULL)) return (0); wqe->eth.swp_inner_l3_offset = eth_hdr_len / 2; - wqe->eth.cs_flags |= MLX5_ETH_WQE_L3_INNER_CSUM; wqe->eth.swp_flags |= MLX5_ETH_WQE_SWP_INNER_L3_TYPE; ip_type = ip6->ip6_nxt; eth_hdr_len += sizeof(*ip6); @@ -833,7 +832,8 @@ top: uint8_t cs_mask; if (mb->m_pkthdr.csum_flags & - (CSUM_INNER_IP_TCP | CSUM_INNER_IP_UDP)) { + (CSUM_INNER_IP_TCP | CSUM_INNER_IP_UDP | + CSUM_INNER_IP6_TCP | CSUM_INNER_IP6_UDP)) { cs_mask = MLX5_ETH_WQE_L3_INNER_CSUM | MLX5_ETH_WQE_L4_INNER_CSUM | |