git: 4edff766cb91 - main - tcp: correct simultaneous SYN ECN reaction in RFC3168 mode.

From: Richard Scheffenegger <rscheff_at_FreeBSD.org>
Date: Mon, 03 Oct 2022 22:40:41 UTC
The branch main has been updated by rscheff:

URL: https://cgit.FreeBSD.org/src/commit/?id=4edff766cb91ef87e3181c64fa7b3adf1a8ca8bf

commit 4edff766cb91ef87e3181c64fa7b3adf1a8ca8bf
Author:     Richard Scheffenegger <rscheff@FreeBSD.org>
AuthorDate: 2022-10-03 22:22:25 +0000
Commit:     Richard Scheffenegger <rscheff@FreeBSD.org>
CommitDate: 2022-10-03 22:24:28 +0000

    tcp: correct simultaneous SYN ECN reaction in RFC3168 mode.
    
    Ensure that an RFC3168 ECN reaction only occurs on non-SYN
    segments.
    
    Reviewed By:            tuexen, #transport
    Sponsored by:           NetApp, Inc.
    Differential Revision:  https://reviews.freebsd.org/D36867
---
 sys/netinet/tcp_ecn.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/netinet/tcp_ecn.c b/sys/netinet/tcp_ecn.c
index 05591c2de2f7..b9f477a1bf4c 100644
--- a/sys/netinet/tcp_ecn.c
+++ b/sys/netinet/tcp_ecn.c
@@ -315,7 +315,7 @@ tcp_ecn_input_segment(struct tcpcb *tp, uint16_t thflags, int iptos)
 			}
 		} else {
 			/* RFC3168 ECN handling */
-			if (thflags & TH_ECE)
+			if ((thflags & (TH_SYN | TH_ECE)) == TH_ECE)
 				delta_ace = 1;
 			if (thflags & TH_CWR) {
 				tp->t_flags2 &= ~TF2_ECN_SND_ECE;