diff options
author | Luiz Otavio O Souza <luiz@netgate.com> | 2015-11-24 10:44:11 -0600 |
---|---|---|
committer | Luiz Otavio O Souza <luiz@netgate.com> | 2015-11-24 10:49:27 -0600 |
commit | 7ed1aac3e1029b1f7ebe0d4153de5048f02db8c9 (patch) | |
tree | 52d4dade98520d9495e83cf52a1c62bbd87ecd1e /sys/netpfil/pf/pf.c | |
parent | 2b2f5ac1a119f2cae5d4b7943ce0b9f9c6b4eff5 (diff) | |
download | FreeBSD-src-7ed1aac3e1029b1f7ebe0d4153de5048f02db8c9.zip FreeBSD-src-7ed1aac3e1029b1f7ebe0d4153de5048f02db8c9.tar.gz |
pf_test6 does not know how to handle PF_FWD, pass PF_OUT instead.
pf_test6 can detect if the packet needs to be forwarded.
Fixes an issue where the output state is not created when a packet is routed to a specific interface (with route-to).
Issue: #5424
Diffstat (limited to 'sys/netpfil/pf/pf.c')
-rw-r--r-- | sys/netpfil/pf/pf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 03e2372..e037298 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -6008,7 +6008,7 @@ pf_route6(struct mbuf **m, struct pf_rule *r, int dir, struct ifnet *oifp, pf_packet_undo_nat(m0, pd, ip_off, s, dir); } - if (pf_test6(PF_FWD, ifp, &m0, NULL) != PF_PASS) + if (pf_test6(PF_OUT, ifp, &m0, NULL) != PF_PASS) goto bad; else if (m0 == NULL) goto done; |