On 06/12/11 20:55, James Hunt wrote:
One possible solution to the problem would be to mandate that all modules which have configurable
kernel parameters also provide equivalent module parameters to allow those values to be set at load
time.
Slightly confusing, because those initial values will show up under
/sys/modules, and in fact some modules allow you to write to those
parameter files after loading.
It sounds like an easy solution, until you realize that means almost all
of /proc/sys/net/ (everything apart from /proc/sys/net/core/).
Another possible solution might be for modprobe to extract the relevant bits from sysctl and apply
them somehow(?)
There is no way to automatically tell which sysctls belong to which
modules :(.
The approach adopted for Ubuntu currently is to simply call sysctl *twice* - once as early as
possible, and again after all network interfaces are up. This seems like the best we can do
currently, but it isn't perfect since it only fixes the problem for network devices.
I'd be interested in your thoughts on a holistic solution to this issue.
You can always run it again later, if that's what you need :).
In the bridge case, maybe the networking scripts need to run sysctl?
You could require the bridge sysctls to live in a specific file, so you
don't end up doing more than is necessary. Similarly with sunrpc for
portmap.
Both of those are optional services, otherwise they wouldn't be
modules. When you enable these optional packages, shouldn't they take
responsibility for loading the relevant sysctls?
Those packages seem better placed than modprobe to know which sysctls
need to be set after loading a module.
Alan
--
To unsubscribe from this list: send the line "unsubscribe linux-modules" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html