summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_var.h
diff options
context:
space:
mode:
authorsilby <silby@FreeBSD.org>2001-06-23 03:21:46 +0000
committersilby <silby@FreeBSD.org>2001-06-23 03:21:46 +0000
commitf41767543e91978acb89276274f32fe6566ef613 (patch)
tree8d364d91b3427e5e39be4b2952a487aee0ba2a8c /sys/netinet/tcp_var.h
parentcb05fc6c2a8bdf494106b7b9b73e2a36ef37f0df (diff)
downloadFreeBSD-src-f41767543e91978acb89276274f32fe6566ef613.zip
FreeBSD-src-f41767543e91978acb89276274f32fe6566ef613.tar.gz
Eliminate the allocation of a tcp template structure for each
connection. The information contained in a tcptemp can be reconstructed from a tcpcb when needed. Previously, tcp templates required the allocation of one mbuf per connection. On large systems, this change should free up a large number of mbufs. Reviewed by: bmilekic, jlemon, ru MFC after: 2 weeks
Diffstat (limited to 'sys/netinet/tcp_var.h')
-rw-r--r--sys/netinet/tcp_var.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index ecac451..294699f 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -66,7 +66,7 @@ struct tcptemp {
struct tcpcb {
struct tsegqe_head t_segq;
int t_dupacks; /* consecutive dup acks recd */
- struct tcptemp *t_template; /* skeletal packet for transmit */
+ struct tcptemp *unused; /* unused */
struct callout *tt_rexmt; /* retransmit timer */
struct callout *tt_persist; /* retransmit persistence */
@@ -400,7 +400,8 @@ struct rtentry *
void tcp_setpersist __P((struct tcpcb *));
void tcp_slowtimo __P((void));
struct tcptemp *
- tcp_template __P((struct tcpcb *));
+ tcp_maketemplate __P((struct tcpcb *));
+void tcp_fillheaders __P((struct tcpcb *, void *, void *));
struct tcpcb *
tcp_timers __P((struct tcpcb *, int));
void tcp_trace __P((int, int, struct tcpcb *, void *, struct tcphdr *,
OpenPOWER on IntegriCloud