Index: pf.c =================================================================== RCS file: /cvs/src/sys/net/pf.c,v retrieving revision 1.1097 diff -u -p -r1.1097 pf.c --- pf.c 4 Jan 2021 12:48:27 -0000 1.1097 +++ pf.c 5 Jan 2021 11:18:14 -0000 @@ -1122,12 +1122,6 @@ pf_find_state(struct pf_pdesc *pd, struc } *state = s; - if (pd->dir == PF_OUT && s->rt_kif != NULL && s->rt_kif != pd->kif && - ((s->rule.ptr->rt == PF_ROUTETO && - s->rule.ptr->direction == PF_OUT) || - (s->rule.ptr->rt == PF_REPLYTO && - s->rule.ptr->direction == PF_IN))) - return (PF_PASS); return (PF_MATCH); } @@ -6049,7 +6043,7 @@ pf_route(struct pf_pdesc *pd, struct pf_ if (ifp == NULL) goto bad; - if (pd->kif->pfik_ifp != ifp) { + if (pd->dir == PF_IN) { if (pf_test(AF_INET, PF_OUT, ifp, &m0) != PF_PASS) goto bad; else if (m0 == NULL) @@ -6204,7 +6198,7 @@ pf_route6(struct pf_pdesc *pd, struct pf if (ifp == NULL) goto bad; - if (pd->kif->pfik_ifp != ifp) { + if (pd->dir == PF_IN) { if (pf_test(AF_INET6, PF_OUT, ifp, &m0) != PF_PASS) goto bad; else if (m0 == NULL)