inetstack
inetstack copied to clipboard
Demikernel's TCP/UDP Stack
# Description In the ARP cache, we should enable multiple waiters for the same address.
We don't have a consistent place to check API calls for user errors. For example, in the send path, there is a check that the user isn't attempting to send...
Currently, the "unsent queue" is limited to a fixed number of _segments_, not bytes, via the compiled in constant UNSENT_QUEUE_CUTOFF. The size of this send buffer should be some number...
We should review the retransmit timer implementation, specifically for the following issues: - The code seems overzealous about pushing the retransmit timer into the future. One case in particular is...
Current code handles initial transmission of FIN by representing FIN as a zero-length buffer on the unsent queue and having the send code (both immediate and background) know to set...
TCP sequence numbers are 32-bit values, which limits the "distance" between sequence numbers that can be reasonably compared to be "greater than" or "less than" the other. Also, even with...
There are currently two implementations of the basic sender algorithm, one for immediate sending, and one for background sending. They should do roughly the same thing, although they currently don't,...
We don't currently have an IP layer on the send side. TCP code calls ARP directly to resolve IP to link-layer addresses, composes all the packet headers itself, and submits...
# Description We have currently disable entry eviction in the ARP cache due to missing functionalities in the network stack. Once we introduce them we should re-enable eviction in `catnip::protocols::arp::peer::background()`