Re: git: 09267cc15284 - main - /etc/rc.subr: add support for kld sysctl variables

From: Kyle Evans <kevans_at_FreeBSD.org>
Date: Sat, 15 Jul 2023 03:59:18 UTC
On 7/14/23 04:57, Doug Rabson wrote:
> The branch main has been updated by dfr:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=09267cc15284795fef958fb9ed786bb2382d6763
> 
> commit 09267cc15284795fef958fb9ed786bb2382d6763
> Author:     Doug Rabson <dfr@FreeBSD.org>
> AuthorDate: 2023-06-21 12:26:17 +0000
> Commit:     Doug Rabson <dfr@FreeBSD.org>
> CommitDate: 2023-07-14 09:49:47 +0000
> 
>      /etc/rc.subr: add support for kld sysctl variables
>      
>      For kernel modules loaded by scripts in /etc/rc.d and
>      /usr/local/etc/rc.d, if there is a file in /etc/sysctl.conf.d named <kld
>      name>.conf, then this will be loaded using the sysctl(8) utility. For
>      instance, sysctl variable changes for the pf kernel module would be
>      placed in the file /etc/sysctl.conf.d/pf.conf.
>      
>      PR:             272129
>      Reviewed by:    imp freebsd_igalic.co
>      MFC after:      2 weeks
>      Differential Revision: https://reviews.freebsd.org/D40886

Hello!

We discussed this out-of-band a little bit, but to circle back to the 
list: I'd like to propose changing the name of this directory before we
cement it into a release; we've seen some non-zero amount of confusion 
with rc.conf.d (at least on IRC) because files within are actually 
conditionally sourced based on daemons being loaded. Many folks are 
conditioned to seeing $file.d as "just a way to split up $file," and
when the contents are conditionally loaded it's not necessarily intuitive.

We could document the behavior in hier(7) in additional to 
sysctl.conf(5), but IMO it'd be really nice for conditionally-sourced
directories to be a little more descriptively named so that one could
make an educated guess as to when the contents are used.  For this one,
perhaps "sysctl.kld.d"?

I don't really know what to propose for rc.conf.d, perhaps rc.svcconf.d, 
but we'd need to actually implement rc.conf.d as you might guess it's
implemented if we change it since it's seen a number of releases.

Thanks,

Kyle Evans