syncache
sc = kmalloc(sizeof(struct syncache), M_SYNCACHE, M_WAITOK|M_ZERO);
syncache_respond(struct syncache *sc, struct mbuf *m)
static void syncache_drop(struct syncache *, struct syncache_head *);
static void syncache_free(struct syncache *);
static void syncache_insert(struct syncache *, struct syncache_head *);
static struct syncache *syncache_lookup(struct in_conninfo *,
static int syncache_respond(struct syncache *, struct mbuf *);
static struct socket *syncache_socket(struct syncache *, struct socket *,
static u_int32_t syncookie_generate(struct syncache *);
static struct syncache *syncookie_lookup(struct in_conninfo *,
syncookie_generate(struct syncache *sc)
static struct syncache *
struct syncache *sc;
sc = kmalloc(sizeof(struct syncache), M_SYNCACHE, M_WAITOK|M_ZERO);
TAILQ_HEAD(, syncache) list;
SYSCTL_NODE(_net_inet_tcp, OID_AUTO, syncache, CTLFLAG_RW, 0, "TCP SYN cache");
struct syncache *sc, int slot)
syncache_free(struct syncache *sc)
syncache_insert(struct syncache *sc, struct syncache_head *sch)
struct syncache *sc2;
struct syncache *sc;
syncache_drop(struct syncache *sc, struct syncache_head *sch)
struct syncache *nsc;
struct syncache *sc;
static struct syncache *
struct syncache *sc;
struct syncache *sc;
struct syncache *sc;
struct syncache *sc;
syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m)
struct syncache *sc;
struct syncache *sc = NULL;
TAILQ_ENTRY(syncache) sc_hash;
TAILQ_ENTRY(syncache) sc_timerq;
TAILQ_HEAD(, syncache) sch_bucket;