git: 994e47023ac8 - vxlan: stop checking CSUM_ENCAP_VXLAN when converting inner CSUM flags into normal, for decapsulation.
Konstantin Belousov
kib at FreeBSD.org
Wed Dec 23 08:56:28 UTC 2020
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=994e47023ac87ede16e9c785ac5d6880e3d3a23c
commit 994e47023ac87ede16e9c785ac5d6880e3d3a23c
Author: Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2020-12-21 16:59:26 +0000
Commit: Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2020-12-23 08:54:06 +0000
vxlan: stop checking CSUM_ENCAP_VXLAN when converting inner CSUM flags into normal, for decapsulation.
The packet, if processed at this point, was already parsed to be UDP
directed to a vxlan port.
Connect-X 4+ does not provide easy method to infer which parser
processed the packet, so driver cannot set the flag without a lot of
efforts which are only to satisfy the formal requirements.
Reviewed by: bryanv, np
Sponsored by: Mellanox Technologies/NVidia Networking
Differential revision: https://reviews.freebsd.org/D27449
MFC after: 1 week
---
sys/net/if_vxlan.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sys/net/if_vxlan.c b/sys/net/if_vxlan.c
index 9f6541f9db43..d0d335dba9ed 100644
--- a/sys/net/if_vxlan.c
+++ b/sys/net/if_vxlan.c
@@ -2824,8 +2824,7 @@ vxlan_input(struct vxlan_socket *vso, uint32_t vni, struct mbuf **m0,
m_clrprotoflags(m);
m->m_pkthdr.rcvif = ifp;
M_SETFIB(m, ifp->if_fib);
- if (m->m_pkthdr.csum_flags & CSUM_ENCAP_VXLAN &&
- ((ifp->if_capenable & IFCAP_RXCSUM &&
+ if (((ifp->if_capenable & IFCAP_RXCSUM &&
m->m_pkthdr.csum_flags & CSUM_INNER_L3_CALC) ||
(ifp->if_capenable & IFCAP_RXCSUM_IPV6 &&
!(m->m_pkthdr.csum_flags & CSUM_INNER_L3_CALC)))) {
More information about the dev-commits-src-main
mailing list