tcp: bbr.c is non-capable of doing ECN and sets an INP flag to fend off ECN however our syncache is not aware of that flag.
We need to make the syncache aware of the flag and not do ECN if its set. Note that this is not 100% full proof but the best we can do (i.e. its still possible that you can get in a situation where the peer try's to do ecn). Reviewed by: tuexen, glebius, rscheff Sponsored by: Netflix Inc Differential Revision:https://reviews.freebsd.org/D39672
This commit is contained in:
parent
373b95976b
commit
960985a209
@ -1724,7 +1724,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
|
||||
if (ltflags & TF_NOOPT)
|
||||
sc->sc_flags |= SCF_NOOPT;
|
||||
/* ECN Handshake */
|
||||
if (V_tcp_do_ecn)
|
||||
if (V_tcp_do_ecn && (inp->inp_flags2 & INP_CANNOT_DO_ECN) == 0)
|
||||
sc->sc_flags |= tcp_ecn_syncache_add(tcp_get_flags(th), iptos);
|
||||
|
||||
if (V_tcp_syncookies)
|
||||
|
Loading…
Reference in New Issue
Block a user