unloading the ipv6 module
Subsystems (2)
Hi,
I saw in net/ipv6/Kconfig a comment saying
"IPv6 as module will cause a CRASH if you try to unload it".
If I refer to this comment, that means unloading of ipv6 is not supported (which makes sense), will it be one day supported?
-- Daniel
David Miller
maintainerFrom: Daniel Lezcano <[email protected]>
Date: Thu, 26 Feb 2009 14:22:12 +0100
Quoted 5 lines
I saw in
net/ipv6/Kconfiga comment saying
"IPv6 as module will cause a CRASH if you try to unload it".If I refer to this comment, that means unloading of ipv6 is not supported (which makes sense), will it be one day supported?
It's very unlikely to be supported any time soon.
Maybe "one day" as in 5 years from now at the earliest.
It's just such an enormous set of problems to solve to make it work, and there are so many more urgent issues to work on.
Quoted 11 lines · David Miller
From: Daniel Lezcano <[email protected]>
Date: Thu, 26 Feb 2009 14:22:12 +0100Quoted 6 lines
I saw in
net/ipv6/Kconfiga comment saying
"IPv6 as module will cause a CRASH if you try to unload it".If I refer to this comment, that means unloading of ipv6 is not supported (which makes sense), will it be one day supported?
Quoted 7 lines
It's very unlikely to be supported any time soon.
Maybe "one day" as in 5 years from now at the earliest.
It's just such an enormous set of problems to solve to make it work, and there are so many more urgent issues to work on.
I was wondering if it would have make sense to remove the unloading module code from ipv6 which is big at all and not testable.
David Miller
maintainerFrom: Daniel Lezcano <[email protected]>
Date: Thu, 26 Feb 2009 14:43:02 +0100
Quoted 2 lines
I was wondering if it would have make sense to remove the unloading module code from ipv6 which is big at all and not testable.
The majority of that code is needed anyways for the module load failure paths.
Quoted 10 lines · David Miller
From: Daniel Lezcano <[email protected]>
Date: Thu, 26 Feb 2009 14:43:02 +0100Quoted 3 lines
I was wondering if it would have make sense to remove the unloading module code from ipv6 which is big at all and not testable.
The majority of that code is needed anyways for the module load failure paths.
Right, I missed this point. I have my answer :)
Thanks
-- Daniel
Quoted 6 lines · David Miller
From: Daniel Lezcano <[email protected]>
Date: Thu, 26 Feb 2009 14:22:12 +0100Quoted 3 lines
I saw in
net/ipv6/Kconfiga comment saying
"IPv6 as module will cause a CRASH if you try to unload it".
Quoted 6 lines
Quoted 2 lines
If I refer to this comment, that means unloading of ipv6 is not supported (which makes sense), will it be one day supported?
It's very unlikely to be supported any time soon.
Maybe "one day" as in 5 years from now at the earliest.
My guess is that somebody reasonably proficient coder with a week of free time can get it to unload properly.
I did it once in 2.4 days, I recall.. Not completely, but mostly.
Quoted 2 lines
It's just such an enormous set of problems to solve to make it work, and there are so many more urgent issues to work on.
Like refactoring the system to have IPv4 specific codes,
IPv6 specific codes, and common codes... But DaveM has
probably other items in mind.
/Matti Aarnio
Quoted 17 lines · On Thu, 26 Feb 2009 20:09:20 +0200 Matti Aarnio <[email protected]>…
Quoted 6 lines · David Miller
From: Daniel Lezcano <[email protected]>
Date: Thu, 26 Feb 2009 14:22:12 +0100Quoted 3 lines
I saw in
net/ipv6/Kconfiga comment saying
"IPv6 as module will cause a CRASH if you try to unload it".Quoted 6 lines
Quoted 2 lines
If I refer to this comment, that means unloading of ipv6 is not supported (which makes sense), will it be one day supported?
It's very unlikely to be supported any time soon.
Maybe "one day" as in 5 years from now at the earliest.
My guess is that somebody reasonably proficient coder with a week of free time can get it to unload properly.
Quoted 9 lines
I did it once in 2.4 days, I recall.. Not completely, but mostly.
Quoted 2 lines
It's just such an enormous set of problems to solve to make it work, and there are so many more urgent issues to work on.
Like refactoring the system to have IPv4 specific codes,
IPv6 specific codes, and common codes... But DaveM has
probably other items in mind.
The issue is the reference counting. IPV6 has some internal sockets that stay open and hold therefore hold references to itself. These reference counts must be accounted for and managed properly.
David Miller
maintainerFrom: Matti Aarnio <[email protected]>
Date: Thu, 26 Feb 2009 20:09:20 +0200
Quoted 7 lines · David Miller
Quoted 2 lines
It's just such an enormous set of problems to solve to make it work, and there are so many more urgent issues to work on.
Like refactoring the system to have IPv4 specific codes,
IPv6 specific codes, and common codes... But DaveM has
probably other items in mind.
The biggest problem is the reference counting of objects.
And if you make ipv6 sockets grab references to the ipv6 module, the ipv6 module itself creates a few for ICMP6 processing, so you somehow have to get rid of those in order for the module unload to be invokable at all.
There are hundreds of cases like that you have to find solutions for before you can cleanly unload ipv6.