summaryrefslogtreecommitdiffstats
path: root/sys/netinet
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2011-07-17 21:15:20 +0000
committerbz <bz@FreeBSD.org>2011-07-17 21:15:20 +0000
commit352be4e985c0df0cf92cf64d89515b0b32bd1bf4 (patch)
tree30b630bd8b49f1677f29eda29cd406291b43802c /sys/netinet
parentcecff2d26e805364b921c7eb9189e52e6ea24cb1 (diff)
downloadFreeBSD-src-352be4e985c0df0cf92cf64d89515b0b32bd1bf4.zip
FreeBSD-src-352be4e985c0df0cf92cf64d89515b0b32bd1bf4.tar.gz
Add spares to the network stack for FreeBSD-9:
- TCP keep* timers - TCP UTO (adjust from what was there already) - netmap - route caching - user cookie (temporary to allow for the real fix) Slightly re-shuffle struct ifnet moving fields out of the middle of spares and to better align. Discussed with: rwatson (slightly earlier version)
Diffstat (limited to 'sys/netinet')
-rw-r--r--sys/netinet/in_pcb.h5
-rw-r--r--sys/netinet/tcp_syncache.h2
-rw-r--r--sys/netinet/tcp_var.h5
3 files changed, 8 insertions, 4 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index dfef963..55270ec 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -179,8 +179,9 @@ struct inpcb {
u_char inp_ip_minttl; /* (i) minimum TTL or drop */
uint32_t inp_flowid; /* (x) flow id / queue id */
u_int inp_refcount; /* (i) refcount */
- void *inp_pspare[4]; /* (x) rtentry / general use */
- u_int inp_ispare[4]; /* general use */
+ void *inp_pspare[5]; /* (x) route caching / general use */
+ u_int inp_ispare[6]; /* (x) route caching / user cookie /
+ * general use */
/* Local and foreign ports, local and foreign addr. */
struct in_conninfo inp_inc; /* (i/p) list for PCB's local port */
diff --git a/sys/netinet/tcp_syncache.h b/sys/netinet/tcp_syncache.h
index ddfa459..5783b6d 100644
--- a/sys/netinet/tcp_syncache.h
+++ b/sys/netinet/tcp_syncache.h
@@ -81,6 +81,8 @@ struct syncache {
#endif
struct label *sc_label; /* MAC label reference */
struct ucred *sc_cred; /* cred cache for jail checks */
+
+ u_int32_t sc_spare[2]; /* UTO */
};
/*
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index e8189b0..bbf392f 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -203,9 +203,9 @@ struct tcpcb {
struct cc_var *ccv; /* congestion control specific vars */
struct osd *osd; /* storage for Khelp module data */
- int t_ispare; /* explicit pad for 64bit alignment */
+ uint32_t t_ispare[12]; /* 4 keep timers, 5 UTO, 3 TBD */
void *t_pspare2[4]; /* 4 TBD */
- uint64_t _pad[12]; /* 7 UTO, 5 TBD (1-2 CC/RTT?) */
+ uint64_t _pad[6]; /* 6 TBD (1-2 CC/RTT?) */
};
/*
@@ -300,6 +300,7 @@ struct tcpopt {
u_int16_t to_mss; /* maximum segment size */
u_int8_t to_wscale; /* window scaling */
u_int8_t to_nsacks; /* number of SACK blocks */
+ u_int32_t to_spare; /* UTO */
};
/*
OpenPOWER on IntegriCloud