When using automatically generated flow labels and using TCP SYN

cookies, use the same flow label for the segments sent during the
handshake and after the handshake.
This fixes a bug by making sure that sc_flowlabel is always stored in
network byte order.

Reviewed by:		bz@
MFC after:		3 days
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D23957
This commit is contained in:
Michael Tuexen 2020-03-04 16:41:25 +00:00
parent d2b8fd0da1
commit 9c04fdfd34

View File

@ -2224,7 +2224,8 @@ syncookie_lookup(struct in_conninfo *inc, struct syncache_head *sch,
#ifdef INET6
case INC_ISIPV6:
if (sotoinpcb(lso)->inp_flags & IN6P_AUTOFLOWLABEL)
sc->sc_flowlabel = sc->sc_iss & IPV6_FLOWLABEL_MASK;
sc->sc_flowlabel =
htonl(sc->sc_iss) & IPV6_FLOWLABEL_MASK;
break;
#endif
}