Re: [PATCH resend] netlink.7: note not reliable if NETLINK_NO_ENOBUFS
From: Florian Westphal <fw@strlen.de>
Date: 2021-03-05 23:23:00
Also in:
netdev
From: Florian Westphal <fw@strlen.de>
Date: 2021-03-05 23:23:00
Also in:
netdev
Pablo Neira Ayuso [off-list ref] wrote:
quoted
If I understand correctly, the connection tracking netlink interface is an exception here because it has its own handling of dealing with congestion ("more reliable"?) so you need to disable the "default congestion control"?In conntrack, you have to combine NETLINK_NO_ENOBUFS with NETLINK_BROADCAST_ERROR, then it's the kernel turns on the "more reliable" event delivery.
The "more reliable" event delivery guarantees that the kernel will deliver at least the DESTROY notification (connection close). If the userspace program is stuck, kernel has to hold on the expired entries. Eventually conntrack stops accepting new connections because the table is full. So this feature can't be recommended as a best-practice for conntrack either.