|
Lines 571-576
Link Here
|
| 571 |
return; |
571 |
return; |
| 572 |
if (m->m_flags & M_FASTFWD_OURS) { |
572 |
if (m->m_flags & M_FASTFWD_OURS) { |
| 573 |
m->m_flags &= ~M_FASTFWD_OURS; |
573 |
m->m_flags &= ~M_FASTFWD_OURS; |
|
|
574 |
m->m_flags &= ~M_SKIP_FIREWALL; /* because ip_tryforward() can set this flag */ |
| 574 |
ip = mtod(m, struct ip *); |
575 |
ip = mtod(m, struct ip *); |
| 575 |
goto ours; |
576 |
goto ours; |
| 576 |
} |
577 |
} |
|
Lines 581-589
Link Here
|
| 581 |
* Bypass packet filtering for packets previously handled by IPsec. |
582 |
* Bypass packet filtering for packets previously handled by IPsec. |
| 582 |
*/ |
583 |
*/ |
| 583 |
if (IPSEC_ENABLED(ipv4) && |
584 |
if (IPSEC_ENABLED(ipv4) && |
| 584 |
IPSEC_CAPS(ipv4, m, IPSEC_CAP_BYPASS_FILTER) != 0) |
585 |
IPSEC_CAPS(ipv4, m, IPSEC_CAP_BYPASS_FILTER) != 0) { |
|
|
586 |
m->m_flags &= ~M_SKIP_FIREWALL; /* because ip_tryforward() can set this flag */ |
| 585 |
goto passin; |
587 |
goto passin; |
|
|
588 |
} |
| 586 |
#endif |
589 |
#endif |
|
|
590 |
/* |
| 591 |
* Bypass input packet filtering, because it was handled in ip_tryforward() |
| 592 |
*/ |
| 593 |
if (m->m_flags & M_SKIP_FIREWALL) { |
| 594 |
m->m_flags &= ~M_SKIP_FIREWALL; |
| 595 |
goto passin; |
| 596 |
} |
| 587 |
|
597 |
|
| 588 |
/* |
598 |
/* |
| 589 |
* Run through list of hooks for input packets. |
599 |
* Run through list of hooks for input packets. |