On Mon, 19 Oct 2020 at 15:51, Matthew Gabeler-Lee <chee...@fastcat.org>
wrote:

> Aah, no, I can't, that's my point. Because /etc/sysctl.d/ is read before
> package-shipped files, then it doesn't matter what file I put it in, it
> will still be overridden by package-shipped files in (/usr)/lib.
>
Did you test this?

$ grep reach /{usr/lib,etc}/sysctl.d/*test1.conf
/usr/lib/sysctl.d/10-test1.conf:net.ipv6.neigh.default.base_reachable_time_ms
= 30008
/etc/sysctl.d/999-test1.conf:net.ipv6.neigh.default.base_reachable_time_ms
= 30004
$ sudo sysctl net.ipv6.neigh.default.base_reachable_time_ms
net.ipv6.neigh.default.base_reachable_time_ms = 30000

So the default is 30000, the shipped /usr/lib sets it to 30008 and the
admin override in /etc is 30004


$ sudo sysctl --system 2>&1 | grep test1
* Applying /usr/lib/sysctl.d/10-test1.conf ...
* Applying /etc/sysctl.d/999-test1.conf ...
The user setting in /usr/lib is applied first, then it is overwritten by
the /etc file. The last write wins, it doesn't matter about the file name
as long as the one you want is later.

$ sudo sysctl net.ipv6.neigh.default.base_reachable_time_ms
net.ipv6.neigh.default.base_reachable_time_ms = 30004

30004 is what the /etc file had. This is what the value should be.

 - Craig

Reply via email to