]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
netfilter: nf_conncount: fix tracking of connections from localhost
authorFernando Fernandez Mancera <fmancera@suse.de>
Mon, 19 Jan 2026 20:35:46 +0000 (21:35 +0100)
committerFlorian Westphal <fw@strlen.de>
Tue, 20 Jan 2026 15:23:38 +0000 (16:23 +0100)
commitde8a70cefcb26cdceaafdc5ac144712681419c29
tree76dd29fb3be6affe17dc5512896d4fa070e3b33d
parentcda26c645946b08f070f20c166d4736767e4a805
netfilter: nf_conncount: fix tracking of connections from localhost

Since commit be102eb6a0e7 ("netfilter: nf_conncount: rework API to use
sk_buff directly"), we skip the adding and trigger a GC when the ct is
confirmed. For connections originated from local to local it doesn't
work because the connection is confirmed on POSTROUTING, therefore
tracking on the INPUT hook is always skipped.

In order to fix this, we check whether skb input ifindex is set to
loopback ifindex. If it is then we fallback on a GC plus track operation
skipping the optimization. This fallback is necessary to avoid
duplicated tracking of a packet train e.g 10 UDP datagrams sent on a
burst when initiating the connection.

Tested with xt_connlimit/nft_connlimit and OVS limit and with a HTTP
server and iperf3 on UDP mode.

Fixes: be102eb6a0e7 ("netfilter: nf_conncount: rework API to use sk_buff directly")
Reported-by: Michal Slabihoudek <michal.slabihoudek@gooddata.com>
Closes: https://lore.kernel.org/netfilter/6989BD9F-8C24-4397-9AD7-4613B28BF0DB@gooddata.com/
Signed-off-by: Fernando Fernandez Mancera <fmancera@suse.de>
Signed-off-by: Florian Westphal <fw@strlen.de>
net/netfilter/nf_conncount.c