Re: why network devices don't do reference counting?
From: Jan Engelhardt <[EMAIL PROTECTED]> Date: Thu, 27 Sep 2007 16:55:36 +0200 (CEST) > > On Sep 27 2007 07:51, Stephen Hemminger wrote: > > > >You need every socket to close and all routes to go away including the > >routes through loopback device, and still there probably are control > >sockets buried inside ipv6 that hold ref count. > > > >IMHO the kernel should just admit that IPV6 can't be removed. > > I cannot accept that. If ipv6.ko has a way to tack ipv6 structs onto all > sockets, interfaces and addresses, it should also be able to untack it > again. Then you do the work and see how incredibly difficult the implementation is, others have tried. It's not trivial and at best it's a very time consuming piece of work to embark on. Until then it's un-removable, plain as that :-) I don't know why we're wasting our fingers discussing this at all to be honest with you. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting?
From: Helge Hafting <[EMAIL PROTECTED]> Date: Thu, 27 Sep 2007 13:54:23 +0200 > Wouldn't it be enough to down all the interfaces and close all the sockets? > No need to bring down every app. And there are routes, and neighbour cache entries, and all sorts of external references to the stack. For example, if a packet gets stuck in a device because the link just went down, that can hold references to the ipv6 module from several angles. But you have to add code to actually keep track of all of these references and there is no such code in the ipv6 module at all and it's a nontrivial time consuming job to implement it. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Sep 27 2007 07:51, Stephen Hemminger wrote: > >You need every socket to close and all routes to go away including the >routes through loopback device, and still there probably are control >sockets buried inside ipv6 that hold ref count. > >IMHO the kernel should just admit that IPV6 can't be removed. I cannot accept that. If ipv6.ko has a way to tack ipv6 structs onto all sockets, interfaces and addresses, it should also be able to untack it again. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Thu, 27 Sep 2007 13:54:23 +0200 Helge Hafting <[EMAIL PROTECTED]> wrote: > Stephen Hemminger wrote: > > On Thu, 27 Sep 2007 00:18:55 +0200 (CEST) > > Jan Engelhardt <[EMAIL PROTECTED]> wrote: > > > > > >> On Sep 26 2007 14:06, Stephen Hemminger wrote: > >> > > No, network devices don't do reference counting. > > > Could you explain why, please? > > After `udevd` on boot loads lots of unused crap, i surrendered, and use > $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, > there are lots of configs: udev, hotplug, modprobe, that somebody might > like to fix. But it came to the end with me. I just don't care. So, > please answer :) > > >>> For hotplug and other reasons, the network developers decided that being > >>> able to remove a network module at any time was a good thing. It works. > >>> > >> Except that for ipv6.ko, it's all opposite. After modprobe, > >> it already got a refcount like 8 and you're wondering how > >> to get rid of that. > >> > > > > ipv6 is not a network driver, it is a protocol. You might be able to remove > > it if you zap > > all the routes and applications, ... > > > Wouldn't it be enough to down all the interfaces and close all the sockets? > No need to bring down every app. You need every socket to close and all routes to go away including the routes through loopback device, and still there probably are control sockets buried inside ipv6 that hold ref count. IMHO the kernel should just admit that IPV6 can't be removed. --- a/net/ipv6/af_inet6.c 2007-09-26 16:28:01.0 -0700 +++ b/net/ipv6/af_inet6.c 2007-09-26 17:38:23.0 -0700 @@ -914,6 +914,9 @@ out_unregister_tcp_proto: } module_init(inet6_init); +/* Disabled at present because it is impossible to remove all references */ +#ifdef IPV6_UNLOAD + static void __exit inet6_exit(void) { /* First of all disallow new sockets creation. */ @@ -952,5 +955,6 @@ static void __exit inet6_exit(void) proto_unregister(_prot); } module_exit(inet6_exit); +#endif MODULE_ALIAS_NETPROTO(PF_INET6); --- a/net/ipv6/addrconf.c 2007-09-26 15:07:35.0 -0700 +++ b/net/ipv6/addrconf.c 2007-09-26 17:36:52.0 -0700 @@ -4255,6 +4255,7 @@ errout: return err; } +#ifdef IPV6_UNLOAD void __exit addrconf_cleanup(void) { struct net_device *dev; @@ -4308,3 +4309,4 @@ void __exit addrconf_cleanup(void) proc_net_remove(_net, "if_inet6"); #endif } +#endif --- a/net/ipv6/ipv6_sockglue.c 2007-09-26 15:07:35.0 -0700 +++ b/net/ipv6/ipv6_sockglue.c 2007-09-26 17:36:17.0 -0700 @@ -1132,7 +1132,9 @@ void __init ipv6_packet_init(void) dev_add_pack(_packet_type); } -void ipv6_packet_cleanup(void) +#ifdef IPV6_UNLOAD +void __exit ipv6_packet_cleanup(void) { dev_remove_pack(_packet_type); } +#endif - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
Stephen Hemminger wrote: On Thu, 27 Sep 2007 00:18:55 +0200 (CEST) Jan Engelhardt <[EMAIL PROTECTED]> wrote: On Sep 26 2007 14:06, Stephen Hemminger wrote: No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) For hotplug and other reasons, the network developers decided that being able to remove a network module at any time was a good thing. It works. Except that for ipv6.ko, it's all opposite. After modprobe, it already got a refcount like 8 and you're wondering how to get rid of that. ipv6 is not a network driver, it is a protocol. You might be able to remove it if you zap all the routes and applications, ... Wouldn't it be enough to down all the interfaces and close all the sockets? No need to bring down every app. Helge Hafting - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
Stephen Hemminger wrote: On Thu, 27 Sep 2007 00:18:55 +0200 (CEST) Jan Engelhardt [EMAIL PROTECTED] wrote: On Sep 26 2007 14:06, Stephen Hemminger wrote: No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) For hotplug and other reasons, the network developers decided that being able to remove a network module at any time was a good thing. It works. Except that for ipv6.ko, it's all opposite. After modprobe, it already got a refcount like 8 and you're wondering how to get rid of that. ipv6 is not a network driver, it is a protocol. You might be able to remove it if you zap all the routes and applications, ... Wouldn't it be enough to down all the interfaces and close all the sockets? No need to bring down every app. Helge Hafting - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Thu, 27 Sep 2007 13:54:23 +0200 Helge Hafting [EMAIL PROTECTED] wrote: Stephen Hemminger wrote: On Thu, 27 Sep 2007 00:18:55 +0200 (CEST) Jan Engelhardt [EMAIL PROTECTED] wrote: On Sep 26 2007 14:06, Stephen Hemminger wrote: No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) For hotplug and other reasons, the network developers decided that being able to remove a network module at any time was a good thing. It works. Except that for ipv6.ko, it's all opposite. After modprobe, it already got a refcount like 8 and you're wondering how to get rid of that. ipv6 is not a network driver, it is a protocol. You might be able to remove it if you zap all the routes and applications, ... Wouldn't it be enough to down all the interfaces and close all the sockets? No need to bring down every app. You need every socket to close and all routes to go away including the routes through loopback device, and still there probably are control sockets buried inside ipv6 that hold ref count. IMHO the kernel should just admit that IPV6 can't be removed. --- a/net/ipv6/af_inet6.c 2007-09-26 16:28:01.0 -0700 +++ b/net/ipv6/af_inet6.c 2007-09-26 17:38:23.0 -0700 @@ -914,6 +914,9 @@ out_unregister_tcp_proto: } module_init(inet6_init); +/* Disabled at present because it is impossible to remove all references */ +#ifdef IPV6_UNLOAD + static void __exit inet6_exit(void) { /* First of all disallow new sockets creation. */ @@ -952,5 +955,6 @@ static void __exit inet6_exit(void) proto_unregister(tcpv6_prot); } module_exit(inet6_exit); +#endif MODULE_ALIAS_NETPROTO(PF_INET6); --- a/net/ipv6/addrconf.c 2007-09-26 15:07:35.0 -0700 +++ b/net/ipv6/addrconf.c 2007-09-26 17:36:52.0 -0700 @@ -4255,6 +4255,7 @@ errout: return err; } +#ifdef IPV6_UNLOAD void __exit addrconf_cleanup(void) { struct net_device *dev; @@ -4308,3 +4309,4 @@ void __exit addrconf_cleanup(void) proc_net_remove(init_net, if_inet6); #endif } +#endif --- a/net/ipv6/ipv6_sockglue.c 2007-09-26 15:07:35.0 -0700 +++ b/net/ipv6/ipv6_sockglue.c 2007-09-26 17:36:17.0 -0700 @@ -1132,7 +1132,9 @@ void __init ipv6_packet_init(void) dev_add_pack(ipv6_packet_type); } -void ipv6_packet_cleanup(void) +#ifdef IPV6_UNLOAD +void __exit ipv6_packet_cleanup(void) { dev_remove_pack(ipv6_packet_type); } +#endif - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Sep 27 2007 07:51, Stephen Hemminger wrote: You need every socket to close and all routes to go away including the routes through loopback device, and still there probably are control sockets buried inside ipv6 that hold ref count. IMHO the kernel should just admit that IPV6 can't be removed. I cannot accept that. If ipv6.ko has a way to tack ipv6 structs onto all sockets, interfaces and addresses, it should also be able to untack it again. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting?
From: Helge Hafting [EMAIL PROTECTED] Date: Thu, 27 Sep 2007 13:54:23 +0200 Wouldn't it be enough to down all the interfaces and close all the sockets? No need to bring down every app. And there are routes, and neighbour cache entries, and all sorts of external references to the stack. For example, if a packet gets stuck in a device because the link just went down, that can hold references to the ipv6 module from several angles. But you have to add code to actually keep track of all of these references and there is no such code in the ipv6 module at all and it's a nontrivial time consuming job to implement it. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting?
From: Jan Engelhardt [EMAIL PROTECTED] Date: Thu, 27 Sep 2007 16:55:36 +0200 (CEST) On Sep 27 2007 07:51, Stephen Hemminger wrote: You need every socket to close and all routes to go away including the routes through loopback device, and still there probably are control sockets buried inside ipv6 that hold ref count. IMHO the kernel should just admit that IPV6 can't be removed. I cannot accept that. If ipv6.ko has a way to tack ipv6 structs onto all sockets, interfaces and addresses, it should also be able to untack it again. Then you do the work and see how incredibly difficult the implementation is, others have tried. It's not trivial and at best it's a very time consuming piece of work to embark on. Until then it's un-removable, plain as that :-) I don't know why we're wasting our fingers discussing this at all to be honest with you. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting?
From: Stephen Hemminger <[EMAIL PROTECTED]> Date: Wed, 26 Sep 2007 15:33:30 -0700 > ipv6 is not a network driver, it is a protocol. You might be able to > remove it if you zap all the routes and applications, ... It is purposefully set to have a permanent elevated reference count because it is not designed to be unloaded safely. It has been unloadable forever. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Thu, 27 Sep 2007 00:18:55 +0200 (CEST) Jan Engelhardt <[EMAIL PROTECTED]> wrote: > > On Sep 26 2007 14:06, Stephen Hemminger wrote: > >> > > >> > No, network devices don't do reference counting. > >> > >> Could you explain why, please? > >> > >> After `udevd` on boot loads lots of unused crap, i surrendered, and use > >> $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, > >> there are lots of configs: udev, hotplug, modprobe, that somebody might > >> like to fix. But it came to the end with me. I just don't care. So, > >> please answer :) > > > >For hotplug and other reasons, the network developers decided that being > >able to remove a network module at any time was a good thing. It works. > > Except that for ipv6.ko, it's all opposite. After modprobe, > it already got a refcount like 8 and you're wondering how > to get rid of that. ipv6 is not a network driver, it is a protocol. You might be able to remove it if you zap all the routes and applications, ... -- Stephen Hemminger <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Sep 26 2007 14:06, Stephen Hemminger wrote: >> > >> > No, network devices don't do reference counting. >> >> Could you explain why, please? >> >> After `udevd` on boot loads lots of unused crap, i surrendered, and use >> $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, >> there are lots of configs: udev, hotplug, modprobe, that somebody might >> like to fix. But it came to the end with me. I just don't care. So, >> please answer :) > >For hotplug and other reasons, the network developers decided that being >able to remove a network module at any time was a good thing. It works. Except that for ipv6.ko, it's all opposite. After modprobe, it already got a refcount like 8 and you're wondering how to get rid of that. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Wed, 26 Sep 2007 23:06:53 +0200 Oleg Verych <[EMAIL PROTECTED]> wrote: > * Wed, 26 Sep 2007 08:37:05 -0700 > * Organization: Linux Foundation > > > > On Wed, 26 Sep 2007 08:53:27 +0100 > > "Jan Beulich" <[EMAIL PROTECTED]> wrote: > > > >> Otherwise 'modprobe -r' on a module having a dependency on bridge will > >> implicitly unload bridge, bringing down all connectivity that was > >> using bridges. > >> > >> Signed-off-by: Jan Beulich <[EMAIL PROTECTED]> > >> > > > > No, network devices don't do reference counting. > > Could you explain why, please? > > After `udevd` on boot loads lots of unused crap, i surrendered, and use > $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, > there are lots of configs: udev, hotplug, modprobe, that somebody might > like to fix. But it came to the end with me. I just don't care. So, > please answer :) > For hotplug and other reasons, the network developers decided that being able to remove a network module at any time was a good thing. It works. -- Stephen Hemminger <[EMAIL PROTECTED]> - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
* Wed, 26 Sep 2007 08:37:05 -0700 * Organization: Linux Foundation > > On Wed, 26 Sep 2007 08:53:27 +0100 > "Jan Beulich" <[EMAIL PROTECTED]> wrote: > >> Otherwise 'modprobe -r' on a module having a dependency on bridge will >> implicitly unload bridge, bringing down all connectivity that was >> using bridges. >> >> Signed-off-by: Jan Beulich <[EMAIL PROTECTED]> >> > > No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
* Wed, 26 Sep 2007 08:37:05 -0700 * Organization: Linux Foundation On Wed, 26 Sep 2007 08:53:27 +0100 Jan Beulich [EMAIL PROTECTED] wrote: Otherwise 'modprobe -r' on a module having a dependency on bridge will implicitly unload bridge, bringing down all connectivity that was using bridges. Signed-off-by: Jan Beulich [EMAIL PROTECTED] No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Wed, 26 Sep 2007 23:06:53 +0200 Oleg Verych [EMAIL PROTECTED] wrote: * Wed, 26 Sep 2007 08:37:05 -0700 * Organization: Linux Foundation On Wed, 26 Sep 2007 08:53:27 +0100 Jan Beulich [EMAIL PROTECTED] wrote: Otherwise 'modprobe -r' on a module having a dependency on bridge will implicitly unload bridge, bringing down all connectivity that was using bridges. Signed-off-by: Jan Beulich [EMAIL PROTECTED] No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) For hotplug and other reasons, the network developers decided that being able to remove a network module at any time was a good thing. It works. -- Stephen Hemminger [EMAIL PROTECTED] - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Sep 26 2007 14:06, Stephen Hemminger wrote: No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) For hotplug and other reasons, the network developers decided that being able to remove a network module at any time was a good thing. It works. Except that for ipv6.ko, it's all opposite. After modprobe, it already got a refcount like 8 and you're wondering how to get rid of that. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting? (Re: [PATCH] Module use count must be updated as bridges are created/destroyed)
On Thu, 27 Sep 2007 00:18:55 +0200 (CEST) Jan Engelhardt [EMAIL PROTECTED] wrote: On Sep 26 2007 14:06, Stephen Hemminger wrote: No, network devices don't do reference counting. Could you explain why, please? After `udevd` on boot loads lots of unused crap, i surrendered, and use $(rmmod `lsmod | just first column`). Networing bravely wipes away. OK, there are lots of configs: udev, hotplug, modprobe, that somebody might like to fix. But it came to the end with me. I just don't care. So, please answer :) For hotplug and other reasons, the network developers decided that being able to remove a network module at any time was a good thing. It works. Except that for ipv6.ko, it's all opposite. After modprobe, it already got a refcount like 8 and you're wondering how to get rid of that. ipv6 is not a network driver, it is a protocol. You might be able to remove it if you zap all the routes and applications, ... -- Stephen Hemminger [EMAIL PROTECTED] - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: why network devices don't do reference counting?
From: Stephen Hemminger [EMAIL PROTECTED] Date: Wed, 26 Sep 2007 15:33:30 -0700 ipv6 is not a network driver, it is a protocol. You might be able to remove it if you zap all the routes and applications, ... It is purposefully set to have a permanent elevated reference count because it is not designed to be unloaded safely. It has been unloadable forever. - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/