[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210305232159.GB10808@breakpoint.cc>
Date: Sat, 6 Mar 2021 00:21:59 +0100
From: Florian Westphal <fw@...len.de>
To: Pablo Neira Ayuso <pablo@...filter.org>
Cc: Alexander Ahring Oder Aring <aahringo@...hat.com>, fw@...len.de,
netdev@...r.kernel.org, linux-man@...r.kernel.org,
David Teigland <teigland@...hat.com>
Subject: Re: [PATCH resend] netlink.7: note not reliable if NETLINK_NO_ENOBUFS
Pablo Neira Ayuso <pablo@...filter.org> wrote:
> > 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.
Powered by blists - more mailing lists