Re: RFC: [2.6 patch] disallow modular IPv6

From: Dana Lacoste
Date: Tue Sep 30 2003 - 08:45:38 EST


On Tue, 2003-09-30 at 05:24, David S. Miller wrote:
> What this means is that it's required for the kernel image to be up to
> date before any modules can be built. If we can check that in the
> build system for the sake of modversions (and if we're not doing that
> now it's a bug we should fix) we can do it equally for ipv6.

So this procedure is flawed then :

1. Compile kernel. Set up everything that you need,
IPV6 is set to 'n'
2. Install kernel and modules to your liking, reboot to take effect.

5 minutes later a user comes and complains that IPV6 isn't available
and he will want it later, so you decide to compile the module for
when he needs it and avoid another reboot :

3. Change config IPV6 to 'm'
4. run make modules && make modules_install

I think that arguing that the kernel image is out of date
is preposterous in this case. It was built just before the
config was changed!

I'm not saying that changing the kernel is an invalid, I'm only
saying that documentation should be updated to mention explicitly :

If you are adding a kernel module to your config, you must also
recompile your kernel and use the new kernel before you use that
module. Essentially, modules are useful only for hotplugging type
situations and not for ease of developer access to kernel drivers.

I agree with Mr. Woodhouse in that this is completely non-intuitive
and is absolutely not what most linux users think of as expected
behaviour, but I can understand how something like IPV6 changes too
many things to be reliably build as a module in this fashion.

SO

TO GET TO MY POINT :)

Why can't the subject line of this thread be implemented? If IPV6
isn't modular, then WHY ALLOW IT AS A MODULE?

Dana Lacoste
Ottawa, Canada

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/