diff options
author | silby <silby@FreeBSD.org> | 2007-12-04 07:11:13 +0000 |
---|---|---|
committer | silby <silby@FreeBSD.org> | 2007-12-04 07:11:13 +0000 |
commit | e548183f0ae7359b95b3fa42ec00ff3cd1fa50b8 (patch) | |
tree | cef4de18c4d3a8fdde9c612b8037c77332620579 | |
parent | 200640eacfbecd3f053374044fbc0e1a7f39b99f (diff) | |
download | FreeBSD-src-e548183f0ae7359b95b3fa42ec00ff3cd1fa50b8.zip FreeBSD-src-e548183f0ae7359b95b3fa42ec00ff3cd1fa50b8.tar.gz |
Fix SACK negotiation that was broken in rev 1.105.
Before this fix, FreeBSD would negotiate SACK on outgoing
connections, but would always fail to negotiate it on incoming
connections.
Discovered by: James Healy and Lawrence Stewart
Submitted by: James Healy and Lawrence Stewart
MFC after: 3 days
-rw-r--r-- | sys/netinet/tcp_syncache.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 67e8c58..946706d 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1184,7 +1184,7 @@ syncache_add(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, if (to->to_flags & TOF_SIGNATURE) sc->sc_flags |= SCF_SIGNATURE; #endif - if (to->to_flags & TOF_SACK) + if (to->to_flags & TOF_SACKPERM) sc->sc_flags |= SCF_SACK; if (to->to_flags & TOF_MSS) sc->sc_peer_mss = to->to_mss; /* peer mss may be zero */ |