Clear the flag indicating that the last received packet was marked CE also

in the case where a packet not marked was received.

Submitted by:		Richard Scheffenegger
Reviewed by:		rgrimes@, tuexen@
MFC after:		1 week
Differential Revision:	https://reviews.freebsd.org/D19143
This commit is contained in:
Michael Tuexen
2019-12-31 14:23:52 +00:00
parent 6d3c9beedb
commit 83a2839fb9
+7 -6
View File
@@ -522,14 +522,15 @@ cc_ecnpkt_handler(struct tcpcb *tp, struct tcphdr *th, uint8_t iptos)
if (CC_ALGO(tp)->ecnpkt_handler != NULL) {
switch (iptos & IPTOS_ECN_MASK) {
case IPTOS_ECN_CE:
tp->ccv->flags |= CCF_IPHDR_CE;
break;
tp->ccv->flags |= CCF_IPHDR_CE;
break;
case IPTOS_ECN_ECT0:
tp->ccv->flags &= ~CCF_IPHDR_CE;
break;
/* FALLTHROUGH */
case IPTOS_ECN_ECT1:
tp->ccv->flags &= ~CCF_IPHDR_CE;
break;
/* FALLTHROUGH */
case IPTOS_ECN_NOTECT:
tp->ccv->flags &= ~CCF_IPHDR_CE;
break;
}
if (th->th_flags & TH_CWR)