Re: [PATCH v4] net: fully namespace net.core.{r,w}mem_{default,max} sysctls
From: Matteo Croce
Date: Fri Apr 18 2025 - 06:11:28 EST
Il giorno ven 18 apr 2025 alle ore 12:06 Danny Lin
<danny@xxxxxxxxxxxx> ha scritto:
>
> This builds on commit 19249c0724f2 ("net: make net.core.{r,w}mem_{default,max} namespaced")
> by adding support for writing the sysctls from within net namespaces,
> rather than only reading the values that were set in init_net. These are
> relatively commonly-used sysctls, so programs may try to set them without
> knowing that they're in a container. It can be surprising for such attempts
> to fail with EACCES.
>
> Unlike other net sysctls that were converted to namespaced ones, many
> systems have a sysctl.conf (or other configs) that globally write to
> net.core.rmem_default on boot and expect the value to propagate to
> containers, and programs running in containers may depend on the increased
> buffer sizes in order to work properly. This means that namespacing the
> sysctls and using the kernel default values in each new netns would break
> existing workloads.
>
> As a compromise, inherit the initial net.core.*mem_* values from the
> current process' netns when creating a new netns. This is not standard
> behavior for most netns sysctls, but it avoids breaking existing workloads.
>
> Signed-off-by: Danny Lin <danny@xxxxxxxxxxxx>
Hi,
does this allow to set, in a namespace, a larger buffer than the one
in the init namespace?
Regards,
--
Matteo Croce
perl -e 'for($t=0;;$t++){print chr($t*($t>>8|$t>>13)&255)}' |aplay