[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3fdb4091-3dc9-e1f2-26a6-561c021c9fae@blackwall.org>
Date: Tue, 20 Jun 2023 09:56:06 +0300
From: Nikolay Aleksandrov <razor@...ckwall.org>
To: Johannes Nixdorf <jnixdorf-oss@....de>, bridge@...ts.linux-foundation.org
Cc: netdev@...r.kernel.org, David Ahern <dsahern@...il.com>,
Vladimir Oltean <vladimir.oltean@....com>, Andrew Lunn <andrew@...n.ch>,
Florian Fainelli <f.fainelli@...il.com>,
Oleksij Rempel <linux@...pel-privat.de>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Roopa Prabhu <roopa@...dia.com>, Ido Schimmel <idosch@...dia.com>
Subject: Re: [PATCH net-next v2 3/3] net: bridge: Add a configurable default
FDB learning limit
On 6/19/23 10:14, Johannes Nixdorf wrote:
> This adds a Kconfig option to configure a default FDB learning limit
> system wide, so a distributor building a special purpose kernel can
> limit all created bridges by default.
>
> The limit is only a soft default setting and overridable per bridge
> using netlink.
>
> Signed-off-by: Johannes Nixdorf <jnixdorf-oss@....de>
>
> ---
>
> Changes since v1:
> - Added a default limit in Kconfig. (deemed acceptable in review
> comments)
>
> net/bridge/Kconfig | 13 +++++++++++++
> net/bridge/br_device.c | 2 ++
> 2 files changed, 15 insertions(+)
>
> diff --git a/net/bridge/Kconfig b/net/bridge/Kconfig
> index 3c8ded7d3e84..c0d9c08088c4 100644
> --- a/net/bridge/Kconfig
> +++ b/net/bridge/Kconfig
> @@ -84,3 +84,16 @@ config BRIDGE_CFM
> Say N to exclude this support and reduce the binary size.
>
> If unsure, say N.
> +
> +config BRIDGE_DEFAULT_FDB_MAX_LEARNED
> + int "Default FDB learning limit"
> + default 0
> + depends on BRIDGE
> + help
> + Sets a default limit on the number of learned FDB entries on
> + new bridges. This limit can be overwritten via netlink on a
> + per bridge basis.
> +
> + The default of 0 disables the limit.
> +
> + If unsure, say 0.
> diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
> index 8eca8a5c80c6..93f081ce8195 100644
> --- a/net/bridge/br_device.c
> +++ b/net/bridge/br_device.c
> @@ -530,6 +530,8 @@ void br_dev_setup(struct net_device *dev)
> br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME;
> dev->max_mtu = ETH_MAX_MTU;
>
> + br->fdb_max_learned_entries = CONFIG_BRIDGE_DEFAULT_FDB_MAX_LEARNED;
> +
> br_netfilter_rtable_init(br);
> br_stp_timer_init(br);
> br_multicast_init(br);
IMO this is pointless, noone will set the kconfig option except very
specific users. I prefer if we leave it to the distribution to set a
maximum on bridge creation, i.e. make it a distro policy.
Powered by blists - more mailing lists