aboutsummaryrefslogtreecommitdiff
path: root/sys/sys/sockbuf.h
diff options
context:
space:
mode:
authorRandall Stewart <rrs@FreeBSD.org>2018-06-07 18:18:13 +0000
committerRandall Stewart <rrs@FreeBSD.org>2018-06-07 18:18:13 +0000
commit89e560f441bb214495715039288c99442b3b5aea (patch)
tree92e58604010cc5bfd9f7e210d979ee8cfa36fcb7 /sys/sys/sockbuf.h
parentce024bdc0c7e70c5bc32ddd2329ccd04ab747514 (diff)
downloadsrc-89e560f441bb214495715039288c99442b3b5aea.tar.gz
src-89e560f441bb214495715039288c99442b3b5aea.zip
This commit brings in a new refactored TCP stack called Rack.
Rack includes the following features: - A different SACK processing scheme (the old sack structures are not used). - RACK (Recent acknowledgment) where counting dup-acks is no longer done instead time is used to knwo when to retransmit. (see the I-D) - TLP (Tail Loss Probe) where we will probe for tail-losses to attempt to try not to take a retransmit time-out. (see the I-D) - Burst mitigation using TCPHTPS - PRR (partial rate reduction) see the RFC. Once built into your kernel, you can select this stack by either socket option with the name of the stack is "rack" or by setting the global sysctl so the default is rack. Note that any connection that does not support SACK will be kicked back to the "default" base FreeBSD stack (currently known as "default"). To build this into your kernel you will need to enable in your kernel: makeoptions WITH_EXTRA_TCP_STACKS=1 options TCPHPTS Sponsored by: Netflix Inc. Differential Revision: https://reviews.freebsd.org/D15525
Notes
Notes: svn path=/head/; revision=334804
Diffstat (limited to 'sys/sys/sockbuf.h')
-rw-r--r--sys/sys/sockbuf.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/sys/sockbuf.h b/sys/sys/sockbuf.h
index 175538071a18..ff7863da6055 100644
--- a/sys/sys/sockbuf.h
+++ b/sys/sys/sockbuf.h
@@ -166,6 +166,10 @@ int sbreserve_locked(struct sockbuf *sb, u_long cc, struct socket *so,
struct mbuf *
sbsndptr(struct sockbuf *sb, u_int off, u_int len, u_int *moff);
struct mbuf *
+ sbsndptr_noadv(struct sockbuf *sb, u_int off, u_int *moff);
+void
+ sbsndptr_adv(struct sockbuf *sb, struct mbuf *mb, u_int len);
+struct mbuf *
sbsndmbuf(struct sockbuf *sb, u_int off, u_int *moff);
int sbwait(struct sockbuf *sb);
int sblock(struct sockbuf *sb, int flags);