ip6q
ip6q.ip6q_next = ip6q.ip6q_prev = &ip6q;
struct ip6q *q6;
for (q6 = ip6q.ip6q_next; q6 != &ip6q; q6 = q6->ip6q_next)
if (q6 == &ip6q) {
q6 = (struct ip6q *)kmalloc(sizeof(struct ip6q), M_FTABLE,
frag6_insque(q6, &ip6q);
if (q6 != ip6q.ip6q_next) {
frag6_insque(q6, &ip6q);
frag6_freef(struct ip6q *q6)
frag6_insque(struct ip6q *new, struct ip6q *old)
frag6_remque(struct ip6q *p6)
struct ip6q *q6;
q6 = ip6q.ip6q_next;
while (q6 != &ip6q) {
ip6q.ip6q_prev) {
frag6_freef(ip6q.ip6q_prev);
static void frag6_insque (struct ip6q *, struct ip6q *);
while (ip6q.ip6q_next != &ip6q) {
static void frag6_remque (struct ip6q *);
frag6_freef(ip6q.ip6q_next);
static void frag6_freef (struct ip6q *);
struct ip6q ip6q; /* ip6 reassemble queue */
struct ip6q *ip6q_next;
struct ip6q *ip6q_prev;