On Tue, 2014-12-02 at 01:28 +0100, Florian Westphal wrote: > ... to avoid per-packet FIB lookup if possible. > > The cached dst is re-used provided the input interface > is the same as that of the previous packet in the same direction. > > If not, the cached dst is invalidated. > > This should speed up forwarding when conntrack is already in use > anyway, especially when using reverse path filtering -- active RPF > enforces two FIB lookups for each packet. > > Before the routing cache removal this didn't matter since RPF > was performed only when route cache didn't yield a result; but without > route cache it comes at high price. > > Signed-off-by: Florian Westphal <fw@xxxxxxxxx> > --- Seems a good idea (but you might need some IPv6 care, as ( dst = dst_check(dst, 0); ) seems to handle IPv4 only) Another idea would be to re-use TCP ehash so that regular IP early demux can be used, with a single lookup for both local and forwarded sessions. (That would probably require a bit more memory, as you would need to insert into TCP ehash some kind of 'tiny sockets' ) -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html