On Sat, Nov 19, 2016 at 09:07:11PM +1300, Richard Procter wrote: > Note, pf_route() calls pf_test() only if (pd->kif->pfik_ifp != ifp). > (I read this as 'pf changed the packet's interface'.)
This check was added in the commit: ---------------------------- revision 1.218 date: 2002/06/07 21:46:08; author: jasoni; state: Exp; lines: +27 -21; in pf_route{6}, do not pass thru pf_test again if the outgoing interface has not changed - ok dhartmei@ ---------------------------- I guess this a protection against looping in pf with outgoing route-to rules. This problem cannot happen with af-to. The af-to rule is always an incoming rule. The pf_test() in ip_output() is done in outgoing direction. So the af-to code is never called recursively. bluhm