I love your UDP packet flow tool, kudos for making that! I've always wondered how packets move through an OS. Also interesting how many gotos I see all over the place, even though everyone says "goto is the devil". Then again maybe this code was written long before that "proverb" came into existence.
One of the best introductions to how kernel works was implementing a timer based context switching RTOS on a microcontroller, so little lines of code but something to build up over and jump into the linux kernel.
For the same reason I created a couple of projects with the same goal of lowering the barrier to entry to the linux kernel:
- an app to follow the UDP packet flow in the linux kernel source code: https://dmkskd.github.io/linux-kernel-network-stack-visualiz...
- a (hopefully) simple way to play with the linux kernel source code on a mac: https://github.com/dmkskd/linux-kernel-debugging-on-mac
Kudos to https://github.com/FlorentRevest for all his work in the space