BrianZill

Results 49 issues of BrianZill

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

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

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

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

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

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

bug
confirmed

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

bug
confirmed

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

enhancement

This PR introduces the `DemiBuffer` abstraction. The intent is to replace the `Buffer` enumeration (along with its `DataBuffer` and `DpdkBuffer` subtypes) with this new abstraction. The motivation behind this is...

enhancement