diff options
author | Randall Stewart <rrs@FreeBSD.org> | 2024-03-11 11:36:54 +0000 |
---|---|---|
committer | Randall Stewart <rrs@FreeBSD.org> | 2024-03-11 11:36:54 +0000 |
commit | f6d489f402c320f1a6eaa473491a0b8c3878113e (patch) | |
tree | 2dea3d4feebe19952d9fe3beec0c8ace1aeedc63 /sys/netinet/tcp_usrreq.c | |
parent | 96c567f972e05c47cd239b6c9226354e808f039b (diff) | |
download | src-f6d489f402c320f1a6eaa473491a0b8c3878113e.tar.gz src-f6d489f402c320f1a6eaa473491a0b8c3878113e.zip |
Update to bring the rack stack with all its fixes in.
This brings the rack stack up to the current level used at NF. Many fixes
and improvements have been added. I also add in a fix to BBR to deal with
the changes that have been in hpts for a while i.e. only one call no matter
if mbuf queue or tcp_output.
Note there is a new file that I can't figure out how to get in rack_pcm.c
It basically does little except BBlogs and is a placemark for future work on
doing path capacity measurements.
Reviewed by: tuexen, glebius
Sponsored by: Netflix Inc.
Differential Revision:https://reviews.freebsd.org/D43986
Diffstat (limited to 'sys/netinet/tcp_usrreq.c')
-rw-r--r-- | sys/netinet/tcp_usrreq.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 9bb953617d99..a73d2a15c1d5 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -179,6 +179,12 @@ tcp_usr_attach(struct socket *so, int proto, struct thread *td) goto out; } tp->t_state = TCPS_CLOSED; + /* Can we inherit anything from the listener? */ + if ((so->so_listen != NULL) && + (so->so_listen->so_pcb != NULL) && + (tp->t_fb->tfb_inherit != NULL)) { + (*tp->t_fb->tfb_inherit)(tp, sotoinpcb(so->so_listen)); + } tcp_bblog_pru(tp, PRU_ATTACH, error); INP_WUNLOCK(inp); TCPSTATES_INC(TCPS_CLOSED); @@ -1601,6 +1607,7 @@ tcp_fill_info(const struct tcpcb *tp, struct tcp_info *ti) ti->tcpi_rcv_numsacks = tp->rcv_numsacks; ti->tcpi_rcv_adv = tp->rcv_adv; ti->tcpi_dupacks = tp->t_dupacks; + ti->tcpi_rttmin = tp->t_rttlow; #ifdef TCP_OFFLOAD if (tp->t_flags & TF_TOE) { ti->tcpi_options |= TCPI_OPT_TOE; |