pf_fragment
TAILQ_HEAD(pf_fragqueue, pf_fragment);
TAILQ_HEAD(pf_cachequeue, pf_fragment);
static int pf_frag_compare(struct pf_fragment *,
struct pf_fragment *);
static RB_PROTOTYPE(pf_frag_tree, pf_fragment, fr_entry, pf_frag_compare);
static RB_GENERATE(pf_frag_tree, pf_fragment, fr_entry, pf_frag_compare);
static void pf_free_fragment(struct pf_fragment *);
static struct pf_fragment *pf_find_fragment(struct pf_frnode *, u_int32_t);
static int pf_frent_insert(struct pf_fragment *,
void pf_frent_remove(struct pf_fragment *,
struct pf_frent *pf_frent_previous(struct pf_fragment *,
static struct pf_fragment *pf_fillup_fragment(struct pf_frnode *, u_int32_t,
static struct mbuf *pf_join_fragment(struct pf_fragment *);
V_pf_frag_z = uma_zcreate("pf frags", sizeof(struct pf_fragment),
pf_frag_compare(struct pf_fragment *a, struct pf_fragment *b)
struct pf_fragment *frag;
struct pf_fragment *frag;
pf_free_fragment(struct pf_fragment *frag)
static struct pf_fragment *
struct pf_fragment *frag, idkey;
pf_frent_insert(struct pf_fragment *frag, struct pf_frent *frent,
pf_frent_remove(struct pf_fragment *frag, struct pf_frent *frent)
pf_frent_previous(struct pf_fragment *frag, struct pf_frent *frent)
static struct pf_fragment *
struct pf_fragment *frag;
pf_join_fragment(struct pf_fragment *frag)
RB_HEAD(pf_frag_tree, pf_fragment);
struct pf_fragment *frag;
struct pf_fragment *frag;
RB_ENTRY(pf_fragment) fr_entry;
TAILQ_ENTRY(pf_fragment) frag_next;