35#ifndef _NETINET_TCP_SYNCACHE_H_
36#define _NETINET_TCP_SYNCACHE_H_
41void syncache_destroy(
void);
45 struct tcphdr *,
struct socket **,
struct mbuf *,
uint16_t);
47 struct tcphdr *,
struct inpcb *,
struct socket *,
struct mbuf *,
73#if defined(TCP_OFFLOAD) || !defined(TCP_OFFLOAD_DISABLE)
88#define SCF_WINSCALE 0x02
89#define SCF_TIMESTAMP 0x04
91#define SCF_UNREACH 0x10
92#define SCF_SIGNATURE 0x20
94#define SCF_ECN_MASK 0x700
96#define SCF_ACE_N 0x400
97#define SCF_ACE_0 0x500
98#define SCF_ACE_1 0x600
99#define SCF_ACE_CE 0x700
111#define SYNCOOKIE_SECRET_SIZE 16
112#define SYNCOOKIE_LIFETIME 15
121#define TCP_SYNCACHE_PAUSE_TIME SYNCOOKIE_LIFETIME
122#define TCP_SYNCACHE_MAX_BACKOFF 6
TAILQ_HEAD(sch_head, syncache) sch_bucket
struct tcp_syncache * sch_sc
TAILQ_ENTRY(syncache) sc_hash
u_int8_t sc_requested_s_scale
struct in_conninfo sc_inc
u_int8_t sc_requested_r_scale
uint8_t key[2][SYNCOOKIE_SECRET_SIZE]
struct syncookie_secret secret
struct syncache_head * hashbase
void syncache_chkrst(struct in_conninfo *, struct tcphdr *, struct mbuf *, uint16_t)
#define SYNCOOKIE_SECRET_SIZE
void syncache_badack(struct in_conninfo *, uint16_t)
struct socket * syncache_add(struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct inpcb *, struct socket *, struct mbuf *, void *, void *, uint8_t, uint16_t)
int syncache_pcblist(struct sysctl_req *)
void syncache_unreach(struct in_conninfo *, tcp_seq, uint16_t)
int syncache_expand(struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct socket **, struct mbuf *, uint16_t)
struct syncookie::@54 flags