summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2008-08-25 00:33:30 +0000
committerjulian <julian@FreeBSD.org>2008-08-25 00:33:30 +0000
commit5cba0d143e55d0f22b48be63885a7999ee390991 (patch)
tree644aa721aaf3dd6b2c025f8e5b4bdf3570e74d78
parent104c765529a86aa62c5ac8ce084c8ce987f591ea (diff)
downloadFreeBSD-src-5cba0d143e55d0f22b48be63885a7999ee390991.zip
FreeBSD-src-5cba0d143e55d0f22b48be63885a7999ee390991.tar.gz
Move some struct defs around. This is a prep step for Vimage.A
No real effect of this at this time.
-rw-r--r--sys/netinet/tcp_syncache.c66
-rw-r--r--sys/netinet/tcp_syncache.h68
2 files changed, 67 insertions, 67 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index 60a0295..3b5a79d 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -108,67 +108,12 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, syncookies_only, CTLFLAG_RW,
&tcp_syncookiesonly, 0,
"Use only TCP SYN cookies");
-#define SYNCOOKIE_SECRET_SIZE 8 /* dwords */
-#define SYNCOOKIE_LIFETIME 16 /* seconds */
-
-struct syncache {
- TAILQ_ENTRY(syncache) sc_hash;
- struct in_conninfo sc_inc; /* addresses */
- int sc_rxttime; /* retransmit time */
- u_int16_t sc_rxmits; /* retransmit counter */
-
- u_int32_t sc_tsreflect; /* timestamp to reflect */
- u_int32_t sc_ts; /* our timestamp to send */
- u_int32_t sc_tsoff; /* ts offset w/ syncookies */
- u_int32_t sc_flowlabel; /* IPv6 flowlabel */
- tcp_seq sc_irs; /* seq from peer */
- tcp_seq sc_iss; /* our ISS */
- struct mbuf *sc_ipopts; /* source route */
-
- u_int16_t sc_peer_mss; /* peer's MSS */
- u_int16_t sc_wnd; /* advertised window */
- u_int8_t sc_ip_ttl; /* IPv4 TTL */
- u_int8_t sc_ip_tos; /* IPv4 TOS */
- u_int8_t sc_requested_s_scale:4,
- sc_requested_r_scale:4;
- u_int16_t sc_flags;
-#define SCF_NOOPT 0x01 /* no TCP options */
-#define SCF_WINSCALE 0x02 /* negotiated window scaling */
-#define SCF_TIMESTAMP 0x04 /* negotiated timestamps */
- /* MSS is implicit */
-#define SCF_UNREACH 0x10 /* icmp unreachable received */
-#define SCF_SIGNATURE 0x20 /* send MD5 digests */
-#define SCF_SACK 0x80 /* send SACK option */
-#define SCF_ECN 0x100 /* send ECN setup packet */
-#ifndef TCP_OFFLOAD_DISABLE
- struct toe_usrreqs *sc_tu; /* TOE operations */
- void *sc_toepcb; /* TOE protocol block */
-#endif
-#ifdef MAC
- struct label *sc_label; /* MAC label reference */
-#endif
- struct ucred *sc_cred; /* cred cache for jail checks */
-};
-
#ifdef TCP_OFFLOAD_DISABLE
#define TOEPCB_ISSET(sc) (0)
#else
#define TOEPCB_ISSET(sc) ((sc)->sc_toepcb != NULL)
#endif
-
-struct syncache_head {
- struct mtx sch_mtx;
- TAILQ_HEAD(sch_head, syncache) sch_bucket;
- struct callout sch_timer;
- int sch_nextc;
- u_int sch_length;
- u_int sch_oddeven;
- u_int32_t sch_secbits_odd[SYNCOOKIE_SECRET_SIZE];
- u_int32_t sch_secbits_even[SYNCOOKIE_SECRET_SIZE];
- u_int sch_reseed; /* time_uptime, seconds */
-};
-
static void syncache_drop(struct syncache *, struct syncache_head *);
static void syncache_free(struct syncache *);
static void syncache_insert(struct syncache *, struct syncache_head *);
@@ -197,17 +142,6 @@ static struct syncache
#define TCP_SYNCACHE_HASHSIZE 512
#define TCP_SYNCACHE_BUCKETLIMIT 30
-struct tcp_syncache {
- struct syncache_head *hashbase;
- uma_zone_t zone;
- u_int hashsize;
- u_int hashmask;
- u_int bucket_limit;
- u_int cache_count; /* XXX: unprotected */
- u_int cache_limit;
- u_int rexmt_limit;
- u_int hash_secret;
-};
static struct tcp_syncache tcp_syncache;
SYSCTL_NODE(_net_inet_tcp, OID_AUTO, syncache, CTLFLAG_RW, 0, "TCP SYN cache");
diff --git a/sys/netinet/tcp_syncache.h b/sys/netinet/tcp_syncache.h
index d733cf9..8ee9246 100644
--- a/sys/netinet/tcp_syncache.h
+++ b/sys/netinet/tcp_syncache.h
@@ -51,5 +51,71 @@ void syncache_badack(struct in_conninfo *);
int syncache_pcbcount(void);
int syncache_pcblist(struct sysctl_req *req, int max_pcbs, int *pcbs_exported);
+struct syncache {
+ TAILQ_ENTRY(syncache) sc_hash;
+ struct in_conninfo sc_inc; /* addresses */
+ int sc_rxttime; /* retransmit time */
+ u_int16_t sc_rxmits; /* retransmit counter */
+
+ u_int32_t sc_tsreflect; /* timestamp to reflect */
+ u_int32_t sc_ts; /* our timestamp to send */
+ u_int32_t sc_tsoff; /* ts offset w/ syncookies */
+ u_int32_t sc_flowlabel; /* IPv6 flowlabel */
+ tcp_seq sc_irs; /* seq from peer */
+ tcp_seq sc_iss; /* our ISS */
+ struct mbuf *sc_ipopts; /* source route */
+
+ u_int16_t sc_peer_mss; /* peer's MSS */
+ u_int16_t sc_wnd; /* advertised window */
+ u_int8_t sc_ip_ttl; /* IPv4 TTL */
+ u_int8_t sc_ip_tos; /* IPv4 TOS */
+ u_int8_t sc_requested_s_scale:4,
+ sc_requested_r_scale:4;
+ u_int16_t sc_flags;
+#define SCF_NOOPT 0x01 /* no TCP options */
+#define SCF_WINSCALE 0x02 /* negotiated window scaling */
+#define SCF_TIMESTAMP 0x04 /* negotiated timestamps */
+ /* MSS is implicit */
+#define SCF_UNREACH 0x10 /* icmp unreachable received */
+#define SCF_SIGNATURE 0x20 /* send MD5 digests */
+#define SCF_SACK 0x80 /* send SACK option */
+#define SCF_ECN 0x100 /* send ECN setup packet */
+#ifndef TCP_OFFLOAD_DISABLE
+ struct toe_usrreqs *sc_tu; /* TOE operations */
+ void *sc_toepcb; /* TOE protocol block */
+#endif
+#ifdef MAC
+ struct label *sc_label; /* MAC label reference */
+#endif
+ struct ucred *sc_cred; /* cred cache for jail checks */
+};
+
+#define SYNCOOKIE_SECRET_SIZE 8 /* dwords */
+#define SYNCOOKIE_LIFETIME 16 /* seconds */
+
+struct syncache_head {
+ struct mtx sch_mtx;
+ TAILQ_HEAD(sch_head, syncache) sch_bucket;
+ struct callout sch_timer;
+ int sch_nextc;
+ u_int sch_length;
+ u_int sch_oddeven;
+ u_int32_t sch_secbits_odd[SYNCOOKIE_SECRET_SIZE];
+ u_int32_t sch_secbits_even[SYNCOOKIE_SECRET_SIZE];
+ u_int sch_reseed; /* time_uptime, seconds */
+};
+
+struct tcp_syncache {
+ struct syncache_head *hashbase;
+ uma_zone_t zone;
+ u_int hashsize;
+ u_int hashmask;
+ u_int bucket_limit;
+ u_int cache_count; /* XXX: unprotected */
+ u_int cache_limit;
+ u_int rexmt_limit;
+ u_int hash_secret;
+};
+
#endif /* _KERNEL */
-#endif /* _NETINET_TCP_SYNCACHE_H_ */
+#endif /* !_NETINET_TCP_SYNCACHE_H_ */
OpenPOWER on IntegriCloud