> On 6 May, 2020, at 9:43 pm, Avakash bhat <[email protected]> wrote: > > We are trying to implement the ACK filtering module of CAKE in ns-3 (Network > Simulator).
Ah yes. Sorry I didn't respond to the introduction earlier - we were right in the middle of preparing for an IETF virtual meeting. The debris is still falling from orbit… > We had a question on the working of ack filtering. > If an incoming ack which can replace an eligible ack in the queue is about to > be enqueued, do we replace the ack in the queue with the incoming ack > or do we enqueue the ack to the tail of the queue and remove the eligible ack > from the queue? That sounds like an implementation detail. But what we do in Cake is to simply enqueue all the packets, and deal with everything complicated on dequeue. At that point, we check whether the two packets at the head of the queue are acks for the same flow, and if so, we further check whether the information in the first packet is redundant given the presence of the second packet. If there is information in the first packet that is not also provided by the second packet, the first packet is delivered. Otherwise the first packet is dropped, and the second packet moves to the head of the queue. This process may repeat several times if there are several consecutive, redundant acks in the queue. The important part is the set of rules determining whether the ack is redundant. - Jonathan Morton _______________________________________________ Cake mailing list [email protected] https://lists.bufferbloat.net/listinfo/cake
