Mapping Kernel 3.x Network Subsystems
A friend and I are looking to learn in-depth the Linux kernel network stack from driver to userspace. We both have a fair amount of C programming and have alot of networking/iptables knowledge. I have also programmed using NFqueue (and its libraries) and understand its mechanisms.
Besides just looking at the source code, where would you start? Most of the documentation I have seen is 2.6.x or 2.4.x, so if you were going to work your way through the kernel and its subsystems; what would you do? what tools or configs would you use?