diff options
author | Michael Tuexen <tuexen@FreeBSD.org> | 2018-11-22 20:02:39 +0000 |
---|---|---|
committer | Michael Tuexen <tuexen@FreeBSD.org> | 2018-11-22 20:02:39 +0000 |
commit | fef56019e948e8455d8127c5ddbc3a5ffdff084b (patch) | |
tree | 8e854823a7448a52e0684eafe23bffda7076b531 | |
parent | 7e729f0787a71de6ab1a752f9a9f19fb495c90c0 (diff) | |
download | src-fef56019e948e8455d8127c5ddbc3a5ffdff084b.tar.gz src-fef56019e948e8455d8127c5ddbc3a5ffdff084b.zip |
Ensure that the TCP RACK stack honours the setting of the
net.inet.tcp.drop_synfin sysctl-variable.
Reviewed by: rrs@
MFC after: 1 week
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D18033
Notes
Notes:
svn path=/head/; revision=340781
-rw-r--r-- | sys/netinet/tcp_stacks/rack.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c index 56c8edc9faad..13fced6fb0c1 100644 --- a/sys/netinet/tcp_stacks/rack.c +++ b/sys/netinet/tcp_stacks/rack.c @@ -6528,6 +6528,10 @@ rack_hpts_do_segment(struct mbuf *m, struct tcphdr *th, struct socket *so, TCP_LOG_EVENT(tp, th, &so->so_rcv, &so->so_snd, TCP_LOG_IN, 0, tlen, &log, true); } + if ((thflags & TH_SYN) && (thflags & TH_FIN) && V_drop_synfin) { + way_out = 4; + goto done_with_input; + } /* * Segment received on connection. Reset idle time and keep-alive * timer. XXX: This should be done after segment validation to |