The branch main has been updated by rscheff:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=0a05ea1f56e65ec0477d56daf5ed623087464082

commit 0a05ea1f56e65ec0477d56daf5ed623087464082
Author:     Richard Scheffenegger <rsch...@freebsd.org>
AuthorDate: 2024-09-18 09:18:00 +0000
Commit:     Richard Scheffenegger <rsch...@freebsd.org>
CommitDate: 2024-09-18 09:18:30 +0000

    tcp: keep syncache flags when updating ECN info
    
    While processing the ECN flags of an incoming packet,
    incorrectly cleared all other syncache flags.
    
    Reported by: tuexen
    Reviewed By: tuexen, #transport
    Sponsored by: NetApp, Inc.
    Differential Revision: https://reviews.freebsd.org/D46694
---
 sys/netinet/tcp_syncache.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index d0a7690256f4..80bf12474c1c 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -1538,7 +1538,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, 
struct tcphdr *th,
                 */
                if (sc->sc_flags & SCF_ECN_MASK) {
                        sc->sc_flags &= ~SCF_ECN_MASK;
-                       sc->sc_flags = tcp_ecn_syncache_add(tcp_get_flags(th), 
iptos);
+                       sc->sc_flags |= tcp_ecn_syncache_add(tcp_get_flags(th), 
iptos);
                }
 #ifdef MAC
                /*

Reply via email to