[2122] in linux-net channel archive
Re: modularizing some of the net code
daemon@ATHENA.MIT.EDU (Bjorn Ekwall)
Sat Mar 16 05:28:21 1996
From: bj0rn@blox.se (Bjorn Ekwall)
To: linux-net@vger.rutgers.edu
Date: Sat, 16 Mar 1996 11:15:26 +0100 (MET)
In-Reply-To: <96Mar16.105648+0100met_dst.2193-28937+15@work.smurf.noris.de> from "Matthias Urlichs" at Mar 14, 96 10:36:38 pm
Matthias Urlichs wrote:
>
> In linux.dev.net, article <Pine.LNX.3.91.960314095047.14870C-100000@LiO=
> Ns.reSEQ.unGOV>,
> lilo <lilo@lions.reseq.ungov> writes:
> >=20
> > Each socket, and each interface, is a demand that the module be kept.=
> So
>
> Hmm... a socket usually doesn't refer to a specific interface (from the
> user's point of view), it refers to a specific pair of source/destinati=
> on
> addresses/pports.
>
> If you remove an interface, all the sockets are "removed" from the inte=
> rface
> as well (they'll have to find a different route next time you send
> something on them). This code already is in the kernel and seems to wor=
> k;
> my ISDN driver (not the one in the current 1.3 kernel... ;-) uses this
> feature.
>
> I can't think of a reason to change that behavior.
When modularising the net subsystem one should also take into account the
already existing support for module stacks, i.e. if one module is supplying
symbols for the use of other modules, the "supplier" will be "locked" in
memory as long as there are any modules that are using its symbols.
That is, the "intermediate" modules in a stack are protected by this as
well, not only by the usage count.
The final design of the stack(s) of net subsystem modules must take
this into account as well.
Cheers,
Bjorn <bj0rn@blox.se> <http://www.pi.se/blox/>