netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC v2 0/5] netfilter reverse path filter matches
@ 2011-09-12 19:42 Florian Westphal
  2011-09-12 19:42 ` [RFC PATCH 1/5] net: ipv4: export fib_table_lookup Florian Westphal
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Florian Westphal @ 2011-09-12 19:42 UTC (permalink / raw)
  To: netfilter-devel; +Cc: netdev

Version 2 of the ipv4/v6 reverse path filter matches discussed during
nfws 2011.

The ipv4 match (ipt_rpfilter) tries to do exactly what the current
fib_validate_source does.  The main problem with this is that
we need to do an additional fib lookup to get the oif in the match.
[ delaying until FORWARD is invoked is not possible because by
  that point the stack might have already sent icmp errors ].

Patrick McHardy suggested to simply attach the result as the dst, so
ipv4 input path doesn't have to do it again.

This works, but does have a few side effects wrt. route-by-mark and
TPROXY, see patch changelog for details.

The ipv6 version does a pure 'reverse' lookup instead.  This makes
things a lot easier (e.g. when multiple route entries exist), but has
the caveat that a real reply packet might be handled differently due to
policy routing rules.

Userspace part is stored in my iptables repository on
http://git.breakpoint.cc/cgi-bin/gitweb.cgi?p=fw/iptables.git (branch 'rpfilter').

Kernel patches are located in the 'xt_rpfilter_5' branch on
http://git.breakpoint.cc/cgi-bin/gitweb.cgi?p=fw/nf-next.git
(patches will be sent as followup to this email).

[ in case you are wondering: the earlier xt_rpfilter version was
  removed -- causes too many module  dependency issues and most of the
  code cannot be shared anyway ].

Thanks,
Florian

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2011-09-28 22:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-09-12 19:42 [PATCH RFC v2 0/5] netfilter reverse path filter matches Florian Westphal
2011-09-12 19:42 ` [RFC PATCH 1/5] net: ipv4: export fib_table_lookup Florian Westphal
2011-09-12 19:42 ` [RFC PATCH 2/5] net: ipv4: move ip_rcv route error counter handling into helper function Florian Westphal
2011-09-12 19:42 ` [RFC PATCH 3/5] netfilter: add ipv4 reverse path filter match Florian Westphal
2011-09-12 19:42 ` [RFC PATCH 4/5] ipv6: add ip6_route_lookup Florian Westphal
2011-09-12 19:42 ` [RFC PATCH 5/5] netfilter: add ipv6 reverse path filter match Florian Westphal
2011-09-28 21:18 ` [PATCH RFC v2 0/5] netfilter reverse path filter matches Pablo Neira Ayuso
2011-09-28 21:23   ` Florian Westphal
2011-09-28 22:39     ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).