Index: pf.c =================================================================== RCS file: /cvs/src/sys/net/pf.c,v retrieving revision 1.1106 diff -u -p -r1.1106 pf.c --- pf.c 1 Feb 2021 00:31:05 -0000 1.1106 +++ pf.c 2 Feb 2021 03:44:51 -0000 @@ -6033,7 +6033,7 @@ pf_route(struct pf_pdesc *pd, struct pf_ (ifp->if_flags & IFF_LOOPBACK) == 0) ip->ip_src = ifatoia(rt->rt_ifa)->ia_addr.sin_addr; - if (s->rt != PF_DUPTO && pd->kif->pfik_ifp != ifp) { + if (s->rt != PF_DUPTO && pd->dir == PF_IN) { if (pf_test(AF_INET, PF_OUT, ifp, &m0) != PF_PASS) goto bad; else if (m0 == NULL) @@ -6178,7 +6178,7 @@ pf_route6(struct pf_pdesc *pd, struct pf (ifp->if_flags & IFF_LOOPBACK) == 0) ip6->ip6_src = ifatoia6(rt->rt_ifa)->ia_addr.sin6_addr; - if (s->rt != PF_DUPTO && pd->kif->pfik_ifp != ifp) { + if (s->rt != PF_DUPTO && pd->dir == PF_IN) { if (pf_test(AF_INET6, PF_OUT, ifp, &m0) != PF_PASS) goto bad; else if (m0 == NULL)