[arch-dev-public] ifconfig triggers linux-3.0 to load appletalk and ipx
teg at jklm.no
Wed Aug 10 06:53:18 EDT 2011
On Wed, Aug 10, 2011 at 12:13 PM, Pierre Schmitz <pierre at archlinux.de> wrote:
> I just wondered why I had ipx and appletalk modules loaded. After some
> tests I figured out that simply running ifconfig triggers the kernel to
> load them. This does not happen with an older kernel; e.g. our lts
> package. Any ideas about that? It might not break anything but it is
> strange anyway. We might also rethink if supporting these ancient
> protocols in kernel and user space tool is still needed.
Doing a quick "git log v2.6.32..v3.0 drivers/net/appletalk
net/appletalk" did not reveal any changes to autoloading of the
appletalk module (all I saw was BKL removal and minor
bugfixes/cleanups). If the module is in our kernel package, and the
admin has not blacklisted it, I suppose the correct behavior _is_ to
autoload it when something might need it (such as ifconfig).
It almost certainly can be disabled in the kernel though, it was at
some point moved to staging, with the justification:
For all I know, Appletalk is dead, the only reasonable
use right now would be nostalgia, and that can be served
well enough by old kernels. The code is largely not
in a bad shape, but it still uses the big kernel lock,
and nobody seems motivated to change that.
FWIW, the last release of MacOS that supported Appletalk
was MacOS X 10.5, made in 2007, and it has been abandoned
by Apple with 10.6. Using TCP/IP instead of Appletalk has
been supported since MacOS 7.6, which was released in
1997 and is able to run on most of the legacy hardware.
This was later reverted, but not for any good reason, just because they could:
This reverts commit a6238f21736af3f47bdebf3895f477f5f23f1af9
Appletalk got some patches to fix up the BLK usage in it in the
network tree, so this removal isn't needed.
Similarly, I was not able to figure out why IPX is suddenly loaded.
However, there was no sign of this ever being deprecated. I suppose
the correct thing to do if you don't want to use it is to blacklist
it. (Or we could remove that to if people think it is not used any
more, I really don't know).
More information about the arch-dev-public