summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_timewait.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet/tcp_timewait.c')
-rw-r--r--sys/netinet/tcp_timewait.c43
1 files changed, 22 insertions, 21 deletions
diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c
index 9d4b6e2..75d61e7 100644
--- a/sys/netinet/tcp_timewait.c
+++ b/sys/netinet/tcp_timewait.c
@@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$");
#include <sys/socketvar.h>
#include <sys/protosw.h>
#include <sys/random.h>
+#include <sys/vimage.h>
#include <vm/uma.h>
@@ -115,10 +116,10 @@ tcptw_auto_size(void)
* Max out at half the ephemeral port range so that TIME_WAIT
* sockets don't tie up too many ephemeral ports.
*/
- if (ipport_lastauto > ipport_firstauto)
- halfrange = (ipport_lastauto - ipport_firstauto) / 2;
+ if (V_ipport_lastauto > V_ipport_firstauto)
+ halfrange = (V_ipport_lastauto - V_ipport_firstauto) / 2;
else
- halfrange = (ipport_firstauto - ipport_lastauto) / 2;
+ halfrange = (V_ipport_firstauto - V_ipport_lastauto) / 2;
/* Protect against goofy port ranges smaller than 32. */
return (imin(imax(halfrange, 32), maxsockets / 5));
}
@@ -169,7 +170,7 @@ tcp_tw_init(void)
uma_zone_set_max(tcptw_zone, tcptw_auto_size());
else
uma_zone_set_max(tcptw_zone, maxtcptw);
- TAILQ_INIT(&twq_2msl);
+ TAILQ_INIT(&V_twq_2msl);
}
/*
@@ -185,10 +186,10 @@ tcp_twstart(struct tcpcb *tp)
int acknow;
struct socket *so;
- INP_INFO_WLOCK_ASSERT(&tcbinfo); /* tcp_tw_2msl_reset(). */
+ INP_INFO_WLOCK_ASSERT(&V_tcbinfo); /* tcp_tw_2msl_reset(). */
INP_WLOCK_ASSERT(inp);
- if (nolocaltimewait && in_localip(inp->inp_faddr)) {
+ if (V_nolocaltimewait && in_localip(inp->inp_faddr)) {
tp = tcp_close(tp);
if (tp != NULL)
INP_WUNLOCK(inp);
@@ -298,7 +299,7 @@ tcp_twrecycleable(struct tcptw *tw)
tcp_seq new_iss = tw->iss;
tcp_seq new_irs = tw->irs;
- INP_INFO_WLOCK_ASSERT(&tcbinfo);
+ INP_INFO_WLOCK_ASSERT(&V_tcbinfo);
new_iss += (ticks - tw->t_starttime) * (ISN_BYTES_PER_SECOND / hz);
new_irs += (ticks - tw->t_starttime) * (MS_ISN_BYTES_PER_SECOND / hz);
@@ -327,7 +328,7 @@ tcp_twcheck(struct inpcb *inp, struct tcpopt *to, struct tcphdr *th,
#endif
/* tcbinfo lock required for tcp_twclose(), tcp_tw_2msl_reset(). */
- INP_INFO_WLOCK_ASSERT(&tcbinfo);
+ INP_INFO_WLOCK_ASSERT(&V_tcbinfo);
INP_WLOCK_ASSERT(inp);
/*
@@ -468,7 +469,7 @@ tcp_twclose(struct tcptw *tw, int reuse)
inp = tw->tw_inpcb;
KASSERT((inp->inp_vflag & INP_TIMEWAIT), ("tcp_twclose: !timewait"));
KASSERT(intotw(inp) == tw, ("tcp_twclose: inp_ppcb != tw"));
- INP_INFO_WLOCK_ASSERT(&tcbinfo); /* tcp_tw_2msl_stop(). */
+ INP_INFO_WLOCK_ASSERT(&V_tcbinfo); /* tcp_tw_2msl_stop(). */
INP_WLOCK_ASSERT(inp);
tw->tw_inpcb = NULL;
@@ -509,7 +510,7 @@ tcp_twclose(struct tcptw *tw, int reuse)
#endif
in_pcbfree(inp);
}
- tcpstat.tcps_closed++;
+ V_tcpstat.tcps_closed++;
crfree(tw->tw_cred);
tw->tw_cred = NULL;
if (reuse)
@@ -596,17 +597,17 @@ tcp_twrespond(struct tcptw *tw, int flags)
m->m_pkthdr.csum_flags = CSUM_TCP;
m->m_pkthdr.csum_data = offsetof(struct tcphdr, th_sum);
ip->ip_len = m->m_pkthdr.len;
- if (path_mtu_discovery)
+ if (V_path_mtu_discovery)
ip->ip_off |= IP_DF;
error = ip_output(m, inp->inp_options, NULL,
((tw->tw_so_options & SO_DONTROUTE) ? IP_ROUTETOIF : 0),
NULL, inp);
}
if (flags & TH_ACK)
- tcpstat.tcps_sndacks++;
+ V_tcpstat.tcps_sndacks++;
else
- tcpstat.tcps_sndctrl++;
- tcpstat.tcps_sndtotal++;
+ V_tcpstat.tcps_sndctrl++;
+ V_tcpstat.tcps_sndtotal++;
return (error);
}
@@ -614,20 +615,20 @@ static void
tcp_tw_2msl_reset(struct tcptw *tw, int rearm)
{
- INP_INFO_WLOCK_ASSERT(&tcbinfo);
+ INP_INFO_WLOCK_ASSERT(&V_tcbinfo);
INP_WLOCK_ASSERT(tw->tw_inpcb);
if (rearm)
- TAILQ_REMOVE(&twq_2msl, tw, tw_2msl);
+ TAILQ_REMOVE(&V_twq_2msl, tw, tw_2msl);
tw->tw_time = ticks + 2 * tcp_msl;
- TAILQ_INSERT_TAIL(&twq_2msl, tw, tw_2msl);
+ TAILQ_INSERT_TAIL(&V_twq_2msl, tw, tw_2msl);
}
static void
tcp_tw_2msl_stop(struct tcptw *tw)
{
- INP_INFO_WLOCK_ASSERT(&tcbinfo);
- TAILQ_REMOVE(&twq_2msl, tw, tw_2msl);
+ INP_INFO_WLOCK_ASSERT(&V_tcbinfo);
+ TAILQ_REMOVE(&V_twq_2msl, tw, tw_2msl);
}
struct tcptw *
@@ -635,9 +636,9 @@ tcp_tw_2msl_scan(int reuse)
{
struct tcptw *tw;
- INP_INFO_WLOCK_ASSERT(&tcbinfo);
+ INP_INFO_WLOCK_ASSERT(&V_tcbinfo);
for (;;) {
- tw = TAILQ_FIRST(&twq_2msl);
+ tw = TAILQ_FIRST(&V_twq_2msl);
if (tw == NULL || (!reuse && tw->tw_time > ticks))
break;
INP_WLOCK(tw->tw_inpcb);
OpenPOWER on IntegriCloud