Show HN: I integrated my from-scratch TCP/IP stack into the xv6-riscv OS
(github.com)9 points by pandax381 a day ago
Hi HN,
To truly understand how operating systems and network protocols work, I decided to combine two classic learning tools: the xv6 teaching OS and a from-scratch TCP/IP stack.
I'm excited to share the result: my own from-scratch TCP/IP networking stack running directly inside the xv6-riscv (https://github.com/pandax381/xv6-riscv-net) kernel.
The project uses a modern virtio-net driver, allowing it to run seamlessly in QEMU and communicate with the host machine.
Key features:
- From-Scratch Stack: The core is powered by microps (https://github.com/pandax381/microps), a TCP/IP stack I originally wrote to run in user-space as a personal project to learn the low-level details of networking.
- Kernel Integration: This project ports microps from user-space into the xv6-riscv kernel.
- Socket API: Implements standard system calls (socket, bind, accept, etc.) to enable network application development.
- User-level Tools: Comes with a simple ifconfig command, plus tcpecho and udpecho servers to demonstrate its capabilities.
This has been a fantastic learning experience. My goal was to demystify the magic behind network-aware operating systems by building the components myself.
I'd love to hear your feedback and answer any questions!
Something about your LICENSE file makes github not recognize it as MIT.
Note how microps does get properly recognized as such.