BrianZill

Results 49 issues of BrianZill

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...

bug
confirmed

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...

bug
confirmed

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...

enhancement

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...

enhancement

Description ======== The existing retransmit routine has a fatal flaw, it is removing data from the unacknowledged queue. This breaks our logic that tracks unacknowledged data. Instead, retransmit() should be...

bug

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...

bug
confirmed

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...

bug
confirmed

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...

enhancement

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...

enhancement

Description ======== The standard socket API normally accepts `INADDR_ANY` (the all-zeroes address) as the wildcard (or "unspecified") address, meaning it matches all addresses. We don't appear to currently support this....

bug
confirmed