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-all mailing list