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

[ns] ECN in TCP Vegas




Or, more accurately, the lack thereof.

TCPs Tahoe and Reno both handle ECN just fine.  It seems that Vegas 
is somewhat lagging in ns.

I don't have a copy in reasonable shape from which to get a diff.  
Would someone mind adding the code below to VegasTcpAgent::output 
(file tcp-vegas.cc) and then post a good diff please.

	//  snip the head of VegasTcpAgent::output(int seqno, int reason)
	tcph->reason() = reason;

	/*+-+-+  Make Vegas ECN Capable  +-+-+*/
	//  code shamelessly stolen from TcpAgent::output
	{  //  artificial scope so that hf doesn't interfere.
		hdr_flags* hf = hdr_flags::access(p);
		if (ecn_) {
			hf->ect() = 1;
		}

		if (cong_action_) {
			hf->cong_action() = TRUE;
			cong_action_ = FALSE;
		}
	}
	/*+-+-+  End ECN Capable Addition  +-+-+*/

	/* if this is the 1st pkt, setup senttime[] and transmits[]

-- 
Brian Lee Bowers	|	RADIANT Team (Summer Intern)
[email protected]	|	Los Alamos National Laboratory