ipstate_t
extern void printstatefield(ipstate_t *, int);
extern void printstatefield(ipstate_t *, int);
ipstate_t *is;
ipstate_t ips;
ipstate_t ips;
static int state_matcharray(ipstate_t *, int *);
static ipstate_t *fetchstate(ipstate_t *, ipstate_t *);
ipstate_t *fetchstate(ipstate_t *src, ipstate_t *dst)
static int state_matcharray(ipstate_t *stp, int *array)
ipstate_t *
printstate(ipstate_t *sp, int opts, u_long now)
printstatefield(ipstate_t *sp, int fieldnum)
ipf_state_deref(softc, (ipstate_t **)datap);
if (ipf_state_add(softc, &fi, (ipstate_t **)&ftp->ftp_pendstate,
if (ipf_state_add(softc, &fi, (ipstate_t **)&ftp->ftp_pendstate,
ipstate_t *is;
ipf_scan_matchisc(ipscan_t *isc, ipstate_t *is, int cl, int sl, int maxm[2])
ipf_scan_match(ipstate_t *is)
ipf_scan_packet(fr_info_t *fin, ipstate_t *is)
int ipf_scan_matchisc(ipscan_t *, ipstate_t *, int, int, int *);
int ipf_scan_match(ipstate_t *);
ipf_state_insert(ipf_main_softc_t *softc, ipstate_t *is, int rev)
ipf_state_matchipv4addrs(ipstate_t *is1, ipstate_t *is2)
ipf_state_matchipv6addrs(ipstate_t *is1, ipstate_t *is2)
ipf_state_matchaddresses(ipstate_t *is1, ipstate_t *is2)
ipf_state_matchisps(ipstate_t *is1, ipstate_t *is2)
ipf_state_match(ipstate_t *is1, ipstate_t *is2)
ipf_state_add(ipf_main_softc_t *softc, fr_info_t *fin, ipstate_t **stsave,
ipstate_t *is, ips;
static ipstate_t *ipf_checkicmp6matchingstate(fr_info_t *);
static int ipf_allowstateicmp(fr_info_t *, ipstate_t *, i6addr_t *);
static ipstate_t *ipf_matchsrcdst(fr_info_t *, ipstate_t *, i6addr_t *,
static ipstate_t *ipf_checkicmpmatchingstate(fr_info_t *);
static int ipf_state_del(ipf_main_softc_t *, ipstate_t *, int);
static int ipf_state_match(ipstate_t *is1, ipstate_t *is2);
static int ipf_state_matchaddresses(ipstate_t *is1, ipstate_t *is2);
static int ipf_state_matchipv4addrs(ipstate_t *is1, ipstate_t *is2);
static int ipf_state_matchipv6addrs(ipstate_t *is1, ipstate_t *is2);
static int ipf_state_matchisps(ipstate_t *is1, ipstate_t *is2);
static int ipf_state_matcharray(ipstate_t *, int *, u_long);
static void ipf_ipsmove(ipf_state_softc_t *, ipstate_t *, u_int);
fr_info_t *, tcphdr_t *, ipstate_t *);
static ipstate_t *ipf_state_clone(fr_info_t *, tcphdr_t *, ipstate_t *);
KMALLOC(is, ipstate_t *);
static void ipf_fixinisn(fr_info_t *, ipstate_t *);
static void ipf_fixoutisn(fr_info_t *, ipstate_t *);
static void ipf_checknewisn(fr_info_t *, ipstate_t *);
fr_info_t *fin, tcphdr_t *tcp, ipstate_t *is)
DT1(iss_tcp_closing, ipstate_t *, is);
DT2(iss_tcp_fsm, fr_info_t *, fin, ipstate_t *, is);
DT2(iss_tcp_oow, fr_info_t *, fin, ipstate_t *, is);
ipf_checknewisn(fr_info_t *fin, ipstate_t *is)
static ipstate_t *
ipf_state_clone(fr_info_t *fin, tcphdr_t *tcp, ipstate_t *is)
ipstate_t *clone;
KMALLOC(clone, ipstate_t *);
DT2(iss_clone, ipstate_t *, is, ipstate_t *, clone);
static ipstate_t *
ipf_matchsrcdst(fr_info_t *fin, ipstate_t *is, i6addr_t *src, i6addr_t *dst,
DT2(iss_lookup_badifp, fr_info_t *, fin, ipstate_t *, is);
DT2(iss_lookup_badport, fr_info_t *, fin, ipstate_t *, is);
ipstate_t *clone;
static ipstate_t *
ipstate_t *is, **isp;
ipf_allowstateicmp(fr_info_t *fin, ipstate_t *is, i6addr_t *src)
DT2(iss_icmp_hits, fr_info_t *, fin, ipstate_t *, is);
ipf_ipsmove(ipf_state_softc_t *softs, ipstate_t *is, u_int hv)
ipstate_t **isp;
ipstate_t *
ipstate_t *is, **isp;
ipstate_t *is;
ipstate_t **, softs->ipf_state_size * sizeof(ipstate_t *));
ipf_fixoutisn(fr_info_t *fin, ipstate_t *is)
ipf_fixinisn(fr_info_t *fin, ipstate_t *is)
softs->ipf_state_size * sizeof(ipstate_t *));
ipstate_t *is;
ipf_state_del(ipf_main_softc_t *softc, ipstate_t *is, int why)
ipstate_t *is;
ipstate_t *is, **isp;
ipstate_t *is;
static ipstate_t *
ipstate_t *is, **isp;
ipf_state_deref(ipf_main_softc_t *softc, ipstate_t **isp)
ipstate_t *is = *isp;
ipf_state_setqueue(ipf_main_softc_t *softc, ipstate_t *is, int rev)
ipstate_t *is, *next, zero;
obj->ipfo_size = sizeof(ipstate_t);
ipf_state_setpending(ipf_main_softc_t *softc, ipstate_t *is)
ipstate_t *state, *statenext;
ipf_state_matcharray(ipstate_t *state, int *array, u_long ticks)
ipstate_t **newtab, *is;
KMALLOCS(newtab, ipstate_t **, newsize * sizeof(ipstate_t *));
bzero((char *)newtab, newsize * sizeof(ipstate_t *));
ipstate_t *ips;
ipstate_t *sp, st;
ipstate_t *is, *isn;
ipstate_t *is, *isn;
KMALLOC(isn, ipstate_t *);
ipstate_t *iss_list;
ipstate_t **iss_table;
ipstate_t *ipf_state_list;
ipstate_t **ipf_state_table;
ipstate_t **, u_int);
extern void ipf_state_deref(ipf_main_softc_t *, ipstate_t **);
extern ipstate_t *ipf_state_lookup(fr_info_t *, tcphdr_t *, ipftq_t **);
extern void ipf_state_setqueue(ipf_main_softc_t *, ipstate_t *, int);
extern void ipf_state_setpending(ipf_main_softc_t *, ipstate_t *);
extern void ipf_state_update(fr_info_t *, ipstate_t *);
ipstate_t *ips;
ipf_sync_storder(int way, ipstate_t *ips)
ipstate_t create;
ipstate_t *is, sn;
KMALLOC(is, ipstate_t *);
bzero((char *)is, offsetof(ipstate_t, is_die));
sizeof(*is) - offsetof(ipstate_t, is_die));