inetstack
inetstack copied to clipboard
Demikernel's TCP/UDP Stack
Context --------- We should have a unit test that exercises "listening on an in-use address/port pair" error condition. Proposed Solution --------------------- This unit test should be added to [`tests/tcp.rs#tcp_bad_listen`](https://github.com/demikernel/inetstack/blob/e841b2517d5af74874c464a9bc7d2025012ff88a/tests/tcp.rs#L332) Further...
Context --------- We currently miss a fast lookup mechanism to determine whether or not a given address/port pair is bound. Proposed Solution --------------------- We should introduce some structure that would...
Description ======== In the top-level src/lib.rs, the do_receive routine attempts to filter out packets sent to "bad" hardware addresses. Currently, this only allows for a single local ethernet address, and...
Currently, getting from a Queue Descriptor to an Established connection takes two separate hash table lookups. These lookups occur for several different fast-path API calls, and presumably could be reduced...
Description ======== Currently, we are not handling `RST` packets. For instance, in `protocols::tcp::peer::Inner::send_rst()` we are not waiting for ARP replies if needed.
# Description We should implement the follow features in order to improve resource usage of TCP layer: - [ ] Memory usage - [ ] Better data structure for open...
There is a well-known undesirable interaction between TCP's "delayed ACK" mechanism and Nagle's Algorithm that can cause unnecessary delays in request-response protocols. (Basically, a sender with a small amount of...
Description ======== We currently have 3 different Hash Maps for routing incoming packets to their correct connections. One each for active-open (SYN_SENT), passive-open (LISTEN, SYN_RCVD), and established. When we are...
# Description We are currently missing `remove()` for `HashTtlCache`