[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> </DIV>
<DIV><FONT face=3DArial size=3D2>We have implemented a new queue =
management=20
algorithm, a variant of RED. We tried to use the ECN concept =
in our=20
algorithm. We have defined an integer, setbit_, like RED=20
does, and inserted the following lines in .cc file, in order =
to mark=20
the packets with the CE flag.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>We have enabled the setbit_ for =
queue=20
algorithm, as well as the ecn_ for TCP agents. </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </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 appears at the trace file created, where the corresponding =
flag for=20
Congestion Experienced - "E" - is not shown.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT> </DIV>
<DIV><FONT face=3DArial size=3D2>Is there anything missing in our =
code? What=20
else should we do in order to have the "E" flag appeared to the trace=20
file? </FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>We'd appreciate any help.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Thank you.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=3DArial size=3D2>Chrysostomos</FONT></DIV>
<DIV><FONT size=3D2><FONT size=3D2>
<P> </P>
<P>prop =3D </P>
<P>FLIE_B->FuzzyInferenceEngine(avg_total/qlim_, =
q_growth_rate/qlim_);</P>
<P>prop /=3D max_p_inv;</P>
<P>if (Random::uniform() <=3D prop) {</P>
<P>if (setbit && hf->ect())</P>
<P>{</P>
<P>hf->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_->enque(p);</P>
<P>.....</P>
<P>}</P></FONT>
<P> </P></FONT></DIV>
<DIV><FONT face=3DArial> </FONT></DIV></BODY></HTML>
------=_NextPart_000_07E1_01C1E540.23684C30--