]> git.baikalelectronics.ru Git - kernel.git/commit
netfilter: conntrack: skip clash resolution if nat is in place
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 11 Jul 2016 15:28:54 +0000 (17:28 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 12 Jul 2016 14:28:41 +0000 (16:28 +0200)
commitffc115a5e905317866ee1a449b48b3ccb22cc8f7
treee0e1e36ad37f71cd7d071932ea826b3c0a6f9465
parent5706fcc6d7820763f55994d6684cc3a49e6665e6
netfilter: conntrack: skip clash resolution if nat is in place

The clash resolution is not easy to apply if the NAT table is
registered. Even if no NAT rules are installed, the nul-binding ensures
that a unique tuple is used, thus, the packet that loses race gets a
different source port number, as described by:

http://marc.info/?l=netfilter-devel&m=146818011604484&w=2

Clash resolution with NAT is also problematic if addresses/port range
ports are used since the conntrack that wins race may describe a
different mangling that we may have earlier applied to the packet via
nf_nat_setup_info().

Fixes: 82ae35d224ae ("netfilter: conntrack: introduce clash resolution on insertion race")
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Tested-by: Marc Dionne <marc.c.dionne@gmail.com>
net/netfilter/nf_conntrack_core.c