Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/pf/pf.c
Show First 20 Lines • Show All 5,543 Lines • ▼ Show 20 Lines | if (!PF_AZERO(&s->rt_addr, AF_INET)) | ||||
dst.sin_addr.s_addr = | dst.sin_addr.s_addr = | ||||
s->rt_addr.v4.s_addr; | s->rt_addr.v4.s_addr; | ||||
ifp = s->rt_kif ? s->rt_kif->pfik_ifp : NULL; | ifp = s->rt_kif ? s->rt_kif->pfik_ifp : NULL; | ||||
PF_STATE_UNLOCK(s); | PF_STATE_UNLOCK(s); | ||||
} | } | ||||
if (ifp == NULL) | if (ifp == NULL) | ||||
goto bad; | goto bad; | ||||
if (oifp != ifp) { | if (dir == PF_IN) { | ||||
if (pf_test(PF_OUT, 0, ifp, &m0, inp) != PF_PASS) | if (pf_test(PF_OUT, 0, ifp, &m0, inp) != PF_PASS) | ||||
goto bad; | goto bad; | ||||
else if (m0 == NULL) | else if (m0 == NULL) | ||||
goto done; | goto done; | ||||
if (m0->m_len < sizeof(struct ip)) { | if (m0->m_len < sizeof(struct ip)) { | ||||
DPFPRINTF(PF_DEBUG_URGENT, | DPFPRINTF(PF_DEBUG_URGENT, | ||||
("%s: m0->m_len < sizeof(struct ip)\n", __func__)); | ("%s: m0->m_len < sizeof(struct ip)\n", __func__)); | ||||
goto bad; | goto bad; | ||||
▲ Show 20 Lines • Show All 172 Lines • ▼ Show 20 Lines | pf_route6(struct mbuf **m, struct pf_krule *r, int dir, struct ifnet *oifp, | ||||
} | } | ||||
if (s) | if (s) | ||||
PF_STATE_UNLOCK(s); | PF_STATE_UNLOCK(s); | ||||
if (ifp == NULL) | if (ifp == NULL) | ||||
goto bad; | goto bad; | ||||
if (oifp != ifp) { | if (dir == PF_IN) { | ||||
if (pf_test6(PF_OUT, PFIL_FWD, ifp, &m0, inp) != PF_PASS) | if (pf_test6(PF_OUT, PFIL_FWD, ifp, &m0, inp) != PF_PASS) | ||||
goto bad; | goto bad; | ||||
else if (m0 == NULL) | else if (m0 == NULL) | ||||
goto done; | goto done; | ||||
if (m0->m_len < sizeof(struct ip6_hdr)) { | if (m0->m_len < sizeof(struct ip6_hdr)) { | ||||
DPFPRINTF(PF_DEBUG_URGENT, | DPFPRINTF(PF_DEBUG_URGENT, | ||||
("%s: m0->m_len < sizeof(struct ip6_hdr)\n", | ("%s: m0->m_len < sizeof(struct ip6_hdr)\n", | ||||
__func__)); | __func__)); | ||||
▲ Show 20 Lines • Show All 982 Lines • Show Last 20 Lines |