pf_kstate
TAILQ_HEAD(, pf_kstate) states[2];
struct pf_kstate;
struct pf_kstate *pfl_state;
TAILQ_ENTRY(pf_kstate) sync_list;
TAILQ_ENTRY(pf_kstate) key_list[2];
LIST_ENTRY(pf_kstate) entry;
typedef void pfsync_insert_state_t(struct pf_kstate *);
typedef void pfsync_update_state_t(struct pf_kstate *);
typedef void pfsync_delete_state_t(struct pf_kstate *);
typedef int pfsync_defer_t(struct pf_kstate *, struct mbuf *);
typedef void pflow_export_state_t(const struct pf_kstate *);
struct pf_kstate *);
struct pf_kstate *);
struct pf_kstate *);
struct pf_kstate *);
LIST_HEAD(, pf_kstate) states;
extern int pf_remove_state(struct pf_kstate *);
struct pf_kstate *);
extern struct pf_kstate *pf_alloc_state(int);
extern void pf_free_state(struct pf_kstate *);
pf_ref_state(struct pf_kstate *s)
pf_release_state(struct pf_kstate *s)
pf_release_staten(struct pf_kstate *s, u_int n)
extern struct pf_kstate *pf_find_state_byid(uint64_t, uint32_t);
extern struct pf_kstate *pf_find_state_all(
extern void pf_print_state(struct pf_kstate *);
u_int32_t pf_new_isn(struct pf_kstate *);
void pf_send_deferred_syn(struct pf_kstate *);
void pf_normalize_tcp_cleanup(struct pf_kstate *);
u_short *, struct tcphdr *, struct pf_kstate *,
pf_state_expires(const struct pf_kstate *);
struct pf_kstate *_s = (s); \
struct pf_kstate *_s = (s); \
struct pf_kstate *_s = (s); \
struct pf_kstate *s;
struct pf_kstate *st;
static int pfsync_upd_tcp(struct pf_kstate *, struct pf_state_peer_export *,
pfsync_upd_tcp(struct pf_kstate *st, struct pf_state_peer_export *src,
struct pf_kstate *st;
struct pf_kstate *st;
struct pf_kstate *st;
struct pf_kstate *st;
void (*write)(struct pf_kstate *, void *);
static void pfsync_out_state_1301(struct pf_kstate *, void *);
static void pfsync_out_state_1400(struct pf_kstate *, void *);
static void pfsync_out_state_1500(struct pf_kstate *, void *);
static void pfsync_out_iack(struct pf_kstate *, void *);
static void pfsync_out_upd_c(struct pf_kstate *, void *);
static void pfsync_out_del_c(struct pf_kstate *, void *);
pfsync_out_state_1301(struct pf_kstate *st, void *buf)
pfsync_out_state_1400(struct pf_kstate *st, void *buf)
pfsync_out_state_1500(struct pf_kstate *st, void *buf)
pfsync_out_iack(struct pf_kstate *st, void *buf)
pfsync_out_upd_c(struct pf_kstate *st, void *buf)
pfsync_out_del_c(struct pf_kstate *st, void *buf)
struct pf_kstate *st, *next;
struct pf_kstate *st, *st_next;
static void pfsync_q_ins(struct pf_kstate *, int sync_state, bool);
static void pfsync_q_del(struct pf_kstate *, bool, struct pfsync_bucket *);
pfsync_insert_state(struct pf_kstate *st)
static void pfsync_update_state(struct pf_kstate *);
pfsync_defer(struct pf_kstate *st, struct mbuf *m)
struct pf_kstate *st = pd->pd_st;
struct pf_kstate *st = pd->pd_st;
struct pf_kstate *pd_st;
pfsync_undefer_state_locked(struct pf_kstate *st, int drop)
pfsync_undefer_state(struct pf_kstate *st, int drop)
pfsync_get_bucket(struct pfsync_softc *sc, struct pf_kstate *st)
pfsync_update_state(struct pf_kstate *st)
TAILQ_HEAD(, pf_kstate) b_qs[PFSYNC_Q_COUNT];
pfsync_update_state_req(struct pf_kstate *st)
pfsync_delete_state(struct pf_kstate *st)
pfsync_q_ins(struct pf_kstate *st, int sync_state, bool ref)
pfsync_q_del(struct pf_kstate *st, bool unref, struct pfsync_bucket *b)
struct pf_kstate *s;
static int pfsync_defer(struct pf_kstate *, struct mbuf *);
static void pfsync_undefer_state_locked(struct pf_kstate *, int);
static void pfsync_undefer_state(struct pf_kstate *, int);
static bool pfsync_update_state_req(struct pf_kstate *);
struct pf_kstate *);
struct pf_kstate *st = NULL;
struct pf_kstate *s, struct pf_pdesc *pd, struct inpcb *inp)
pf_state_hash(struct pf_kstate *s)
pf_set_protostate(struct pf_kstate *s, int which, u_int8_t newstate)
const struct pf_kstate *s, struct ip_fw_args *dnflow)
pf_dummynet(struct pf_pdesc *pd, struct pf_kstate *s,
pf_dummynet_route(struct pf_pdesc *pd, struct pf_kstate *s,
pf_src_connlimit(struct pf_kstate *state)
pf_counters_inc(int action, struct pf_pdesc *pd, struct pf_kstate *s,
struct pf_kstate *s = NULL;
struct pf_kstate *s;
V_pf_state_z = uma_zcreate("pf states", sizeof(struct pf_kstate),
struct pf_kstate *s)
struct pf_kstate *si, *olds = NULL;
pf_detach_state(struct pf_kstate *s)
pf_state_key_detach(struct pf_kstate *s, int idx)
struct pf_state_key *skw, struct pf_state_key *sks, struct pf_kstate *s)
struct pf_kstate *cur;
struct pf_kstate *
struct pf_kstate *s;
struct pf_kstate **state)
struct pf_kstate *s;
struct pf_kstate *
struct pf_kstate *s, *ret = NULL;
struct pf_kstate *s;
pf_state_expires(const struct pf_kstate *state)
pf_src_tree_remove_state(struct pf_kstate *s)
static void pf_src_tree_remove_state(struct pf_kstate *);
pf_remove_state(struct pf_kstate *s)
struct pf_kstate *
pf_free_state(struct pf_kstate *cur)
struct pf_kstate *s;
static void pf_detach_state(struct pf_kstate *);
struct pf_state_key *, struct pf_kstate *);
static void pf_state_key_detach(struct pf_kstate *, int);
static int pf_dummynet(struct pf_pdesc *, struct pf_kstate *,
struct pf_kstate *, struct pf_krule *,
pf_print_state(struct pf_kstate *s)
pf_print_state_parts(struct pf_kstate *s,
static int pf_test_rule(struct pf_krule **, struct pf_kstate **,
struct pf_kstate **, u_int16_t, u_int16_t);
static int pf_tcp_track_full(struct pf_kstate *,
static int pf_tcp_track_sloppy(struct pf_kstate *,
struct pf_kstate **, struct pf_rule_actions *);
static int pf_test_state(struct pf_kstate **, struct pf_pdesc *,
struct pf_pdesc *, struct pf_kstate **,
static int pf_test_state_icmp(struct pf_kstate **,
static int pf_sctp_track(struct pf_kstate *, struct pf_pdesc *,
static void pf_sctp_multihome_detach_addr(const struct pf_kstate *);
struct pfi_kkif *, struct pf_kstate *, int);
static void pf_print_state_parts(struct pf_kstate *,
const struct pf_state_key_cmp *, struct pf_kstate **);
static bool pf_src_connlimit(struct pf_kstate *);
struct pf_kstate *, struct pf_krule *,
struct ifnet *, struct pf_kstate *,
struct ifnet *, struct pf_kstate *,
static __inline void pf_set_protostate(struct pf_kstate *, int, u_int8_t);
pf_send_challenge_ack(struct pf_pdesc *pd, struct pf_kstate *s,
pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm,
struct pf_kstate **sm, u_int16_t bproto_sum, u_int16_t bip_sum)
struct pf_kstate *s = NULL;
BOUND_IFACE(struct pf_kstate *st, struct pf_pdesc *pd)
pf_tcp_track_full(struct pf_kstate *state, struct pf_pdesc *pd,
pf_tcp_track_sloppy(struct pf_kstate *state, struct pf_pdesc *pd,
pf_synproxy(struct pf_pdesc *pd, struct pf_kstate *state, u_short *reason)
pf_synproxy_ack(struct pf_krule *r, struct pf_pdesc *pd, struct pf_kstate **sm,
struct pf_kstate *s;
pf_test_state(struct pf_kstate **state, struct pf_pdesc *pd, u_short *reason)
pf_sctp_track(struct pf_kstate *state, struct pf_pdesc *pd,
pf_sctp_multihome_detach_addr(const struct pf_kstate *s)
struct pf_kstate *s, int action)
struct pf_kstate *sm = NULL;
struct pf_kstate **state, u_int16_t icmpid, u_int16_t type, int icmp_dir,
pf_test_state_icmp(struct pf_kstate **state, struct pf_pdesc *pd,
struct pf_kstate *s, struct pf_pdesc *pd, struct inpcb *inp)
struct pf_kstate *s = pfl->pfl_state;
struct pf_kstate *s = pfl->pfl_state;
struct pf_kstate *st = pfl->pfl_state;
struct pf_kstate *s;
struct pf_kstate *s;
struct pf_kstate *state;
struct pf_kstate *s;
struct pf_kstate *s;
struct pf_kstate *s;
pfsync_state_export(union pfsync_state_union *sp, struct pf_kstate *st, int msg_version)
pfsync_state_export_1301(struct pfsync_state_1301 *sp, struct pf_kstate *st)
pfsync_state_export_1400(struct pfsync_state_1400 *sp, struct pf_kstate *st)
pfsync_state_export_1500(struct pfsync_state_1500 *sp, struct pf_kstate *st)
pf_state_export(struct pf_state_export *sp, struct pf_kstate *st)
struct pf_kstate *s;
struct pf_kstate *s;
struct pf_kstate *s;
struct pf_kstate *s;
struct pf_kstate *s = NULL;
struct pf_kstate *st;
dump_state(struct nlpcb *nlp, const struct nlmsghdr *hdr, struct pf_kstate *s,
struct pf_kstate *s;
struct pf_kstate *s;
struct pf_kstate *s;
pf_normalize_tcp_cleanup(struct pf_kstate *state)
u_short *reason, struct tcphdr *th, struct pf_kstate *state,
pf_state_to_nvstate(const struct pf_kstate *s)
nvlist_t *pf_state_to_nvstate(const struct pf_kstate *);
struct pflow_ipfix_flow4 *, const struct pf_kstate *, struct pf_state_key *,
struct pflow_ipfix_flow6 *, const struct pf_kstate *, struct pf_state_key *,
static int pflow_pack_flow(const struct pf_kstate *, struct pf_state_key *,
static int pflow_pack_flow_ipfix(const struct pf_kstate *, struct pf_state_key *,
static void export_pflow(const struct pf_kstate *);
static int export_pflow_if(const struct pf_kstate*, struct pf_state_key *,
const struct pf_kstate *, struct pflow_softc *,
const struct pf_kstate *st, struct pf_state_key *sk, int src, int dst)
struct pflow_ipfix_flow4 *flow2, const struct pf_kstate *st,
struct pflow_ipfix_flow6 *flow2, const struct pf_kstate *st,
struct pflow_ipfix_nat4 *nat2, const struct pf_kstate *st,
export_pflow(const struct pf_kstate *st)
export_pflow_if(const struct pf_kstate *st, struct pf_state_key *sk,
struct pf_kstate pfs_copy;
copy_nat_ipfix_4_to_m(struct pflow_ipfix_nat4 *nat, const struct pf_kstate *st,
pflow_pack_flow(const struct pf_kstate *st, struct pf_state_key *sk,
pflow_is_natd(const struct pf_kstate *st)
const struct pf_kstate *, struct pf_state_key *, int, int);
pflow_pack_flow_ipfix(const struct pf_kstate *st, struct pf_state_key *sk,