[tcp] Fix ECN on finalizing sessions.

A subtle oversight would subtly change new data packets
sent after a shutdown() or close() call, while the send
buffer is still draining.

MFC after: 3 days
Reviewed By: #transport, tuexen
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D29616
This commit is contained in:
Richard Scheffenegger 2021-04-08 14:50:34 +02:00
parent 5998328e55
commit 9f2eeb0262

View File

@ -1181,7 +1181,7 @@ tcp_output(struct tcpcb *tp)
tp->t_flags2 &= ~TF2_ECN_SND_ECE;
}
if (tp->t_state == TCPS_ESTABLISHED &&
if (TCPS_HAVEESTABLISHED(tp->t_state) &&
(tp->t_flags2 & TF2_ECN_PERMIT)) {
/*
* If the peer has ECN, mark data packets with