WolfIP: Lightweight TCP/IP stack with no dynamic memory allocations (github.com) 151 points by 789c789c789c 4mo ago ↗ HN
[–] rpcope1 4mo ago ↗ It would be interesting to know why you would choose this over something like the Contiki uIP or lwIP that everything seems to use.
[–] rwmj 4mo ago ↗ passt (the network stack that you might be using if you're running qemu, or podman containers) also has no dynamic memory allocations. I always thought it's quite an interesting achievement. https://blog.vmsplice.net/2021/10/a-new-approach-to-usermode... https://passt.top/passt/about/#security [–] [deleted] 4mo ago ↗ (comment deleted)
[–] sedatk 4mo ago ↗ It only implements IPv4 which explains to a degree that why IPv6 isn't ubiquitous: it's costly to implement. [–] [dead] hrmtst93837 4mo ago ↗ [flagged] [–] preisschild 4mo ago ↗ Matter (a smart home connectivity standard in use by many embedded devices) is using IPv6. Doesnt seem to be a problem there.
[–] preisschild 4mo ago ↗ Matter (a smart home connectivity standard in use by many embedded devices) is using IPv6. Doesnt seem to be a problem there.
[–] CyberDildonics 4mo ago ↗ Are there TCP/IP stacks out there in common use that are allocating memory all the time? [–] fulafel 4mo ago ↗ Yes, TCP is pretty hungry for buffers. The bandwidth*delay product can eat gigs of memory on a server. You have to be ready to retransmit anything that's in flight / haven't received the ack for yet. [–] bobmcnamara 4mo ago ↗ Yes, it is pretty common.However sometimes the buffers are pooled so buffer allocator contention only occurs within the network stack or within a particular nic.
[–] fulafel 4mo ago ↗ Yes, TCP is pretty hungry for buffers. The bandwidth*delay product can eat gigs of memory on a server. You have to be ready to retransmit anything that's in flight / haven't received the ack for yet.
[–] bobmcnamara 4mo ago ↗ Yes, it is pretty common.However sometimes the buffers are pooled so buffer allocator contention only occurs within the network stack or within a particular nic.
[–] fulafel 4mo ago ↗ How does it deal with all the dynamic TCP buffering things where things may get quite large?
12 comments
[ 3.3 ms ] story [ 34.1 ms ] threadHowever sometimes the buffers are pooled so buffer allocator contention only occurs within the network stack or within a particular nic.