I'd recommend understanding the stack before choosing to replace it (the old programmer's advice about understanding a gate before removing it). I summarized the TCP send path in my next book (sysperf2, with help from Linux network engineers); it involves:
- Socket send buffers
- Pacing
- TSO
- Congestion controls
- Nagle
- TSQ
- qdisc (optional)
- GSQ
- BQL
- TSO (NIC)
That's just the TCP send path.I'm happy to expand all these acronyms, but if any are new to you, that's kind-of my point. These parts have a purpose, and starting from scratch may lead you to eventually re-invent them all as you encounter the problems they solve.