PF_SK_WIRE
int afto = (s->key[PF_SK_STACK].af != s->key[PF_SK_WIRE].af);
nk = &s->key[PF_SK_WIRE];
sk = &s->key[PF_SK_WIRE];
sk = st->key[st->direction == PF_IN ? PF_SK_WIRE : PF_SK_STACK];
skw = st->key[st->direction == PF_OUT ? PF_SK_WIRE : PF_SK_STACK];
if (st->key[PF_SK_WIRE]->proto == IPPROTO_TCP) {
if (pf_setup_pdesc(&pdesc, st->key[PF_SK_WIRE]->af,
switch (st->key[PF_SK_WIRE]->af) {
unhandled_af(st->key[PF_SK_WIRE]->af);
switch (st->key[PF_SK_WIRE]->af) {
unhandled_af(st->key[PF_SK_WIRE]->af);
if (st->key[PF_SK_WIRE]->proto == IPPROTO_TCP)
((sist->key[PF_SK_WIRE]->af == sk->af &&
(sist->key[PF_SK_WIRE]->af !=
(idx == PF_SK_WIRE) ?
(idx == PF_SK_WIRE) ? sk : NULL,
(idx == PF_SK_WIRE) ? sk : NULL,
KASSERT(st->key[PF_SK_WIRE] != NULL);
pf_state_key_detach(st, PF_SK_WIRE);
if (st->key[PF_SK_STACK] != st->key[PF_SK_WIRE])
skw = pf_state_key_attach(skw, st, PF_SK_WIRE);
pf_state_key_detach(st, PF_SK_WIRE);
didx = (pd->dir == PF_IN) ? PF_SK_WIRE : PF_SK_STACK;
if (sist->key[PF_SK_WIRE]->af == sist->key[PF_SK_STACK]->af) {
(sk == (dir == PF_IN ? sist->key[PF_SK_WIRE] :
sp->key[PF_SK_WIRE].addr[0] = st->key[PF_SK_WIRE]->addr[0];
sp->key[PF_SK_WIRE].addr[1] = st->key[PF_SK_WIRE]->addr[1];
sp->key[PF_SK_WIRE].port[0] = st->key[PF_SK_WIRE]->port[0];
sp->key[PF_SK_WIRE].port[1] = st->key[PF_SK_WIRE]->port[1];
sp->key[PF_SK_WIRE].rdomain = htons(st->key[PF_SK_WIRE]->rdomain);
sp->key[PF_SK_WIRE].af = st->key[PF_SK_WIRE]->af;
sp->rtableid[PF_SK_WIRE] = htonl(st->rtableid[PF_SK_WIRE]);
sp->proto = st->key[PF_SK_WIRE]->proto;
sp->af = st->key[PF_SK_WIRE]->af;
if ((sp->key[PF_SK_WIRE].af &&
(sp->key[PF_SK_WIRE].af != sp->key[PF_SK_STACK].af)) ||
PF_ANEQ(&sp->key[PF_SK_WIRE].addr[0],
PF_ANEQ(&sp->key[PF_SK_WIRE].addr[1],
sp->key[PF_SK_WIRE].port[0] != sp->key[PF_SK_STACK].port[0] ||
sp->key[PF_SK_WIRE].port[1] != sp->key[PF_SK_STACK].port[1] ||
sp->key[PF_SK_WIRE].rdomain != sp->key[PF_SK_STACK].rdomain) {
skw->addr[0] = sp->key[PF_SK_WIRE].addr[0];
skw->addr[1] = sp->key[PF_SK_WIRE].addr[1];
skw->port[0] = sp->key[PF_SK_WIRE].port[0];
skw->port[1] = sp->key[PF_SK_WIRE].port[1];
skw->rdomain = ntohs(sp->key[PF_SK_WIRE].rdomain);
if (!(skw->af = sp->key[PF_SK_WIRE].af))
st->rtableid[PF_SK_WIRE] = ntohl(sp->rtableid[PF_SK_WIRE]);
pf_send_tcp(st->rule.ptr, st->key[PF_SK_WIRE]->af,
&st->key[PF_SK_WIRE]->addr[1],
&st->key[PF_SK_WIRE]->addr[0],
st->key[PF_SK_WIRE]->port[1],
st->key[PF_SK_WIRE]->port[0],
st->key[PF_SK_WIRE]->rdomain, NULL);
st->key[PF_SK_WIRE]->af,
st->key[PF_SK_WIRE]->rdomain,
&st->key[PF_SK_WIRE]->addr[0 /* XXX or 1? */]);
sist->key[PF_SK_WIRE] != sist->key[PF_SK_STACK]) {
skw = skwp ? skwp : (st ? st->key[PF_SK_WIRE] : NULL);
if ((*stp)->key[PF_SK_WIRE] != (*stp)->key[PF_SK_STACK]) {
if ((*stp)->key[PF_SK_WIRE]->af != (*stp)->key[PF_SK_STACK]->af)
direction = (pd->af == (*stp)->key[PF_SK_WIRE]->af) ?
if ((*stp)->key[PF_SK_WIRE] != (*stp)->key[PF_SK_STACK]) {
if ((*stp)->key[PF_SK_WIRE] !=
if ((*stp)->key[PF_SK_WIRE] !=
if ((*stp)->key[PF_SK_WIRE] !=
if ((*stp)->key[PF_SK_WIRE] !=
if ((*stp)->key[PF_SK_WIRE] !=
(*stp)->key[PF_SK_WIRE]->af);
p.pfra_af = (*stp)->key[PF_SK_WIRE]->af;
switch ((*stp)->key[PF_SK_WIRE]->af) {
sk = st->key[PF_SK_WIRE];
(*stp)->key[PF_SK_WIRE]->af &&
m->m_pkthdr.ph_flowid = st->key[PF_SK_WIRE]->hash;
pf_state_key_unref(st->key[PF_SK_WIRE]);
if (((sist->key[PF_SK_WIRE]->af ==
sist->key[PF_SK_WIRE] :
(sist->key[PF_SK_WIRE]->af !=
sk == sist->key[PF_SK_WIRE]))) &&
sk = st->key[PF_SK_WIRE];
sks = cur->key[PF_SK_WIRE];
sks = cur->key[PF_SK_WIRE];
? PF_SK_STACK : PF_SK_WIRE];
((key[PF_SK_WIRE]->af != key[PF_SK_STACK]->af) && \
(key[PF_SK_WIRE]->af != (family)))
side = s1->direction == PF_IN ? PF_SK_STACK : PF_SK_WIRE;
if (s1->key[PF_SK_STACK].af != s1->key[PF_SK_WIRE].af) {
side = PF_SK_WIRE;
if (s2->key[PF_SK_STACK].af != s2->key[PF_SK_WIRE].af) {
side = PF_SK_WIRE;
side = s1->direction == PF_IN ? PF_SK_STACK : PF_SK_WIRE;
if (s1->key[PF_SK_STACK].af != s1->key[PF_SK_WIRE].af) {
side = PF_SK_WIRE;
if (s2->key[PF_SK_STACK].af != s2->key[PF_SK_WIRE].af) {
side = PF_SK_WIRE;
afto = s->key[PF_SK_STACK].af == s->key[PF_SK_WIRE].af ? 0 : 1;
&s->key[afto ? PF_SK_STACK : PF_SK_WIRE],
&s->key[afto ? PF_SK_STACK : PF_SK_WIRE],
&s->key[afto ? PF_SK_WIRE : PF_SK_STACK], 0);
&s->key[PF_SK_WIRE], 0);
&s->key[PF_SK_WIRE], 1);
nk = &s->key[PF_SK_WIRE];
sk = &s->key[PF_SK_WIRE];