Re: [PATCH v2 nf-next] ipvs: add conn_max sysctl to limit connections
Julian Anastasov <[email protected]> Sat, 23 May 2026 23:44:16 +0300 (EEST)
| Newsgroups | org.kernel.vger.lvs-devel,org.kernel.vger.netfilter-devel |
|---|---|
| Message-ID | <[email protected]> |
Hello, On Sat, 23 May 2026, Julian Anastasov wrote: > Currently, we are using atomic_t to track the number of > connections. On 64-bit setups with large memory there is > a risk this counter to overflow. Also, setups with many > containers may need to tune the limit for connections. > > Add sysctl control to limit the number of connections to > 1,073,741,824 (64-bit) and 16,777,216 (32-bit). > Depending on the admin's privilege, the value is > used to change a soft or hard limit allowing > unprivileged admins to change the soft limit in > range determined by privileged admins. > > Link: https://sashiko.dev/#/patchset/20260430074420.26697-7-ja%40ssi.bg > Link: https://sashiko.dev/#/patchset/20260522105546.13732-1-ja%40ssi.bg > Signed-off-by: Julian Anastasov <[email protected]> Forgot that writers should be serialized. Will send v3. https://sashiko.dev/#/patchset/20260523172715.94795-1-ja%40ssi.bg pw-bot: changes-requested > + if (write && !rc && val != unset) { > + struct netns_ipvs *ipvs = table->extra2; > + bool priv = capable(CAP_NET_ADMIN); > + /* Unprivileged admins can not go above the hard limit */ > + int max = priv ? IP_VS_CONN_MAX : ipvs->conn_max_limit; > + > + if (val < 0 || val > max) { > + rc = -EINVAL; > + } else { > + /* Privileged admin changes both limits */ > + if (priv) > + ipvs->conn_max_limit = val; > + WRITE_ONCE(*valp, val); > + } Regards -- Julian Anastasov <[email protected]>