> On 12 Dec, 2018, at 1:42 pm, Shefali Gupta <[email protected]> wrote:
> 
> We're trying to implement Ack_Filter in ns-3, while working on your 
> suggestions in parallel for validating the implementation of COBALT in ns-3.
> 
> As far as we understand, we need TCP header information related to SACK 
> Blocks, ECN, Source Port, SYN flag, ACK Flag, etc for Ack_Filter to work.
>  
> Since Cake will be deployed at network devices, we're not able to figure out 
> how will be the (higher layer) information accessible.
> 
> Are we missing out on something that is very obvious?

The ack-filter is essentially a Layer-4 feature, which does require unpacking 
the packet a bit further than usual.  In principle it's no different from the 
steps needed to unpack a Layer-2 packet to read the Layer-3 IPv4 or IPv6 
headers for routing and flow hashing, or applying an ECN mark.

First check whether the next-level protocol is one that's relevant and 
understood, then look at the appropriate offsets to find the header data 
required.  That's basically what Cake does, via some basic helper macros which 
are provided by Linux.

Probably ns-3 has some helper API to do that for you; if not to extract the 
fields and flags of the TCP header, then at least to locate it.  You just need 
to find the right API.

 - Jonathan Morton

_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to