We have started the process of trying to add modularity to the TCP stack.
rrs@ has written code that accomplishes 1, 2, 3, and 5 above. It also accomplishes some of 4. (See the code review here.)
In addition to testing for correctness, we need to test for performance.
One idea for performance testing is to use a replicable TCP testing load and use PMC to count various statistics (including the number of branch prediction misses, etc.) both with and without this change.