DCTCP implementation

hiren panchasara hiren.panchasara at gmail.com
Thu Apr 3 16:00:19 UTC 2014


On Thu, Apr 3, 2014 at 4:27 AM, Midori Kato <katoon at sfc.wide.ad.jp> wrote:
> Hi Hiren,
>
> Yes, I intentionally replace the location of DELAY_ACK() macro.
> A DCTCP receiver sends an immediate ACK when incoming packets sets CE and
> non-CE bit by turns. To implement this processing, I prepare the
> cc_ecnpkt_handler() function. This function calls the DEKAY_ACK() macro to
> check if this packet is in delayed ack or not. This is why I replace the
> macro position.
That is fine but macro definition is also changed.

This is how it looks on -HEAD right now:

#define DELAY_ACK(tp, tlen) \
((!tcp_timer_active(tp, TT_DELACK) && \
   (tp->t_flags & TF_RXWIN0SENT) == 0) && \
   (tlen <= tp->t_maxopd) && \
   (V_tcp_delack_enabled || (tp->t_flags & TF_NEEDSYN)))

We need to pass this new argument "tlen" when calling DELAY_ACK() from
cc_ecnpkt_handler() function. We can probably pass that to
cc_encpkg_handler() while calling it from tcp_do_segment().

I'll make that change and see how it goes.

cheers,
Hiren
>
> Regards,
> -- Midori
>
>
> (4/3/14, 10:24 AM), hiren panchasara wrote:
>>
>> On Sun, Mar 30, 2014 at 10:37 PM, Midori Kato <katoon at sfc.wide.ad.jp>
>> wrote:
>>>
>>> Hi FreeBSD developpers,
>>>
>>> I'm Midori Kato. I'm working on the DCTCP implementation in the FreeBSD
>>> with
>>> Lars Eggert. I mail you because I would like to ask you a code review and
>>> testing. The attached patch is not good enough to test our code. Please
>>> give
>>> me your message. I will send an ECN marking implmenetation in dummynet
>>> and
>>> test scripts personally to you.
>>
>> Midori,
>>
>> First thing I noticed in your dctcp.patch is that you are dropping
>> r256920 which adds a new argument tlen to DELAY_ACK() macro. I also
>> see you removed and re-added that macro definition without any changes
>> to it.
>>
>> Is that intentional? If not, can you please fix that and resend the patch?
>>
>> It is usually a good idea to work on -HEAD for such things so
>> patching/committing is easier.
>>
>> cheers,
>> Hiren
>> _______________________________________________
>> freebsd-net at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>
>


More information about the freebsd-net mailing list