[ns] ECN marking

Chrysostomos Chrysostomou cchrys@ucy.ac.cy
Tue Apr 16 05:20:32 2002


This is a multi-part message in MIME format.

------=_NextPart_000_07E1_01C1E540.23684C30
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi,=20

We have implemented a new queue management algorithm, a variant of RED. =
We tried to use the ECN concept in our algorithm. We have defined an =
integer, setbit_, like RED does, and inserted the following lines in .cc =
file, in order to mark the packets with the CE flag.

We have enabled the setbit_ for queue algorithm, as well as the ecn_ for =
TCP agents.=20

Eventhough, it seems to have marked packets (this is shown by the printf =
message), the problem appears at the trace file created, where the =
corresponding flag for Congestion Experienced - "E" - is not shown.

Is there anything missing in our code? What else should we do in order =
to have the "E" flag appeared to the trace file? =20

We'd appreciate any help.

Thank you.

Chrysostomos


prop =3D=20

FLIE_B->FuzzyInferenceEngine(avg_total/qlim_, q_growth_rate/qlim_);

prop /=3D max_p_inv;

if (Random::uniform() <=3D prop) {

if (setbit && hf->ect())

{

hf->ce() =3D 1; // mark Congestion Experienced bit

printf("a packet is marked \n");

droptype =3D DTYPE_MARKED;

return (0); // no drop

}

else

{

drop(p);

}

} else {

fuzzyQueue_->enque(p);

.....

}



=20

------=_NextPart_000_07E1_01C1E540.23684C30
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.3315.2870" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Hi, </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>We&nbsp;have implemented a new queue =
management=20
algorithm, a variant of RED.&nbsp;We tried to&nbsp;use the ECN concept =
in our=20
algorithm.&nbsp;We have defined an integer, setbit_, like RED=20
does,&nbsp;and&nbsp;inserted the following lines in .cc file, in order =
to mark=20
the packets with the CE flag.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>We&nbsp;have enabled the setbit_ for =
queue=20
algorithm, as well as the&nbsp;ecn_ for TCP agents.&nbsp;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Eventhough, it seems to have marked =
packets (this=20
is shown by the printf message), t</FONT><FONT face=3DArial size=3D2>he=20
problem&nbsp;appears at the trace file created, where the corresponding =
flag for=20
Congestion Experienced - "E" -&nbsp;is not shown.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Is there anything missing in our =
code?&nbsp;What=20
else should we do in order to have the "E" flag appeared to the trace=20
file?&nbsp;&nbsp;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>We'd appreciate any help.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thank you.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Chrysostomos</FONT></DIV>
<DIV><FONT size=3D2><FONT size=3D2>
<P>&nbsp;</P>
<P>prop =3D </P>
<P>FLIE_B-&gt;FuzzyInferenceEngine(avg_total/qlim_, =
q_growth_rate/qlim_);</P>
<P>prop /=3D max_p_inv;</P>
<P>if (Random::uniform() &lt;=3D prop) {</P>
<P>if (setbit &amp;&amp; hf-&gt;ect())</P>
<P>{</P>
<P>hf-&gt;ce() =3D 1; // mark Congestion Experienced bit</P>
<P>printf("a packet is marked \n");</P>
<P>droptype =3D DTYPE_MARKED;</P>
<P>return (0); // no drop</P>
<P>}</P>
<P>else</P>
<P>{</P>
<P>drop(p);</P>
<P>}</P>
<P>} else {</P>
<P>fuzzyQueue_-&gt;enque(p);</P>
<P>.....</P>
<P>}</P></FONT>
<P>&nbsp;</P></FONT></DIV>
<DIV><FONT face=3DArial>&nbsp;</FONT></DIV></BODY></HTML>

------=_NextPart_000_07E1_01C1E540.23684C30--