Hello!
I managed to convert TCP into kernel module. It works and it seems
pretty
stabile. The only thing that does not work is the 'Used by'. Currently
it
is considered unused all the time, which can result in machine crash
when
you try to unload the module. There are some minor uglynesses concerning
some casting. I hope I will be able to find a better solution than to
create a function inside TCP module that takes void* as an argument and
performs casting inside.
By making TCP a kernel module, I proved that it is possible and I
modified
some of the algorithms in the IP code, so that it is more universal.
For example now you can actually add a new stream type transport layer
protocol with almost no kernel modification.
This is great for inclusion of new transport protocols that might/will
come
in the future.
It also makes the inclusion of IPSEC much easier.
The kernel used was 2.4 - test3 pre3. The size of kernel module is 95k,
which is significant difference for embeded systems.
I am in the process of creating a patch.
Please comment!
Andy
|