Linux Kernel Networking: Implementation and Theory