PF_SK_STACK
int afto = (s->key[PF_SK_STACK].af != s->key[PF_SK_WIRE].af);
sk = &s->key[PF_SK_STACK];
nk = &s->key[PF_SK_STACK];
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];
sist->key[PF_SK_STACK]->af &&
sk->af == sist->key[PF_SK_STACK]->af &&
(idx == PF_SK_STACK) ? sk : NULL);
(idx == PF_SK_STACK) ? sk : NULL);
KASSERT(st->key[PF_SK_STACK] != NULL);
if (st->key[PF_SK_STACK] != st->key[PF_SK_WIRE])
pf_state_key_detach(st, PF_SK_STACK);
st->key[PF_SK_STACK] = sks;
} else if (pf_state_key_attach(sks, st, PF_SK_STACK) == NULL) {
didx = (pd->dir == PF_IN) ? PF_SK_WIRE : PF_SK_STACK;
if (sist->key[PF_SK_WIRE]->af == sist->key[PF_SK_STACK]->af) {
sist->key[PF_SK_STACK]))) {
sp->key[PF_SK_STACK].addr[0] = st->key[PF_SK_STACK]->addr[0];
sp->key[PF_SK_STACK].addr[1] = st->key[PF_SK_STACK]->addr[1];
sp->key[PF_SK_STACK].port[0] = st->key[PF_SK_STACK]->port[0];
sp->key[PF_SK_STACK].port[1] = st->key[PF_SK_STACK]->port[1];
sp->key[PF_SK_STACK].rdomain = htons(st->key[PF_SK_STACK]->rdomain);
sp->key[PF_SK_STACK].af = st->key[PF_SK_STACK]->af;
sp->rtableid[PF_SK_STACK] = htonl(st->rtableid[PF_SK_STACK]);
(sp->key[PF_SK_WIRE].af != sp->key[PF_SK_STACK].af)) ||
&sp->key[PF_SK_STACK].addr[0], sp->af) ||
&sp->key[PF_SK_STACK].addr[1], sp->af) ||
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) {
sks->addr[0] = sp->key[PF_SK_STACK].addr[0];
sks->addr[1] = sp->key[PF_SK_STACK].addr[1];
sks->port[0] = sp->key[PF_SK_STACK].port[0];
sks->port[1] = sp->key[PF_SK_STACK].port[1];
sks->rdomain = ntohs(sp->key[PF_SK_STACK].rdomain);
if (!(sks->af = sp->key[PF_SK_STACK].af))
st->rtableid[PF_SK_STACK] = ntohl(sp->rtableid[PF_SK_STACK]);
if (st->key[PF_SK_STACK]->proto == IPPROTO_TCP)
if (sk == sist->key[PF_SK_STACK] && sist->rule.ptr &&
if (sist->key[PF_SK_STACK]->proto == IPPROTO_TCP &&
sist->key[PF_SK_WIRE] != sist->key[PF_SK_STACK]) {
sks = sksp ? sksp : (st ? st->key[PF_SK_STACK] : 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)
if ((*stp)->key[PF_SK_WIRE] != (*stp)->key[PF_SK_STACK]) {
st->key[PF_SK_STACK]->proto == IPPROTO_TCP &&
(*stp)->key[PF_SK_STACK]) {
(*stp)->key[PF_SK_STACK]) {
(*stp)->key[PF_SK_STACK]) {
(*stp)->key[PF_SK_STACK]) {
(*stp)->key[PF_SK_STACK]) {
pf_mbuf_link_state_key(m, st->key[PF_SK_STACK]);
pf_state_key_link_inpcb(st->key[PF_SK_STACK], inp);
pf_state_key_unref(st->key[PF_SK_STACK]);
sist->key[PF_SK_STACK]->af &&
sist->key[PF_SK_STACK])) ||
sist->key[PF_SK_STACK]->af &&
(sk == sist->key[PF_SK_STACK] ||
sk = st->key[PF_SK_STACK];
sks = cur->key[PF_SK_STACK];
sks = cur->key[PF_SK_STACK];
? PF_SK_STACK : PF_SK_WIRE];
((key[PF_SK_WIRE]->af != key[PF_SK_STACK]->af) && \
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_STACK;
aa = &s1->key[PF_SK_STACK].addr[ii];
pa = s1->key[PF_SK_STACK].port[ii];
af = s1->key[PF_SK_STACK].af;
if (s2->key[PF_SK_STACK].af != s2->key[PF_SK_WIRE].af) {
side = PF_SK_STACK;
ab = &s2->key[PF_SK_STACK].addr[ii];
pb = s2->key[PF_SK_STACK].port[ii];
af = s1->key[PF_SK_STACK].af;
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_STACK;
aa = &s1->key[PF_SK_STACK].addr[ii];
pa = s1->key[PF_SK_STACK].port[ii];
af = s1->key[PF_SK_STACK].af;
if (s2->key[PF_SK_STACK].af != s2->key[PF_SK_WIRE].af) {
side = PF_SK_STACK;
ab = &s2->key[PF_SK_STACK].addr[ii];
pb = s2->key[PF_SK_STACK].port[ii];
af = s1->key[PF_SK_STACK].af;
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[PF_SK_STACK], 1);
&s->key[afto ? PF_SK_STACK : PF_SK_WIRE],
&s->key[afto ? PF_SK_WIRE : PF_SK_STACK], 0);
print_fld_host2(FLD_SRC, &s->key[PF_SK_STACK],
print_fld_host2(FLD_DEST, &s->key[PF_SK_STACK],
sk = &s->key[PF_SK_STACK];
nk = &s->key[PF_SK_STACK];