aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@FreeBSD.org>2018-11-22 20:02:39 +0000
committerMichael Tuexen <tuexen@FreeBSD.org>2018-11-22 20:02:39 +0000
commitfef56019e948e8455d8127c5ddbc3a5ffdff084b (patch)
tree8e854823a7448a52e0684eafe23bffda7076b531
parent7e729f0787a71de6ab1a752f9a9f19fb495c90c0 (diff)
downloadsrc-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.c4
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