[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ns] TCP Q: ecnecho_ bit TCP ACk header



HI, there, 
I have a Q about TCP implmentation in ns:
if for some reason, the ecnecho_ bit in a duplicate ACK is not set up
appropriately at the TCP receiver(in tcp-sink.cc), say, it repeats exact
the same value as the ecnecho_ bit in the previous ACK packet, 
I am wondering how this will affect TCP's behavior? 

in TcpAgent::dupack_action() in tcp.cc, there are a few lines like this:

        if (ecn_ && last_cwnd_action_ == CWND_ACTION_ECN) {
                last_cwnd_action_ = CWND_ACTION_DUPACK;
                slowdown(CLOSE_CWND_ONE);
                reset_rtx_timer(0,0);
                return;
        }

I am wondering if the expression "(ecn_ && last_cwnd_action_ ==
CWND_ACTION_ECN)" has anything to do with the ecnecho_ bit in the incoming
ACk header?
I could not find where does ecn_ filed in TcpAgent is set? I could not
find it anywhere in tcp.cc and tcp-sink.cc.  

Thanks in advance for any feedback!
yan