Config::SetDefault ("ns3::TcpSocketBase::UseEcn", StringValue ("On"));msg="Could not set default value for ns3::TcpSocketBase::UseEcn", file=../../src/core/model/config.cc, line=815Config::SetDefault ("ns3::CoDelQueueDisc::UseEcn", BooleanValue (true));msg="Could not set default value for ns3::CoDelQueueDisc::UseEcn", file=../../src/core/model/config.cc, line=815TrafficControlHelper tchCoDel;
tchCoDel.SetRootQueueDisc ("ns3::CoDelQueueDisc");
tchCoDel.SetQueueLimits("ns3::CoDelQueueDisc", "UseEcn", BooleanValue (true));
// later used tchCoDel.install(<somenetdevice>);msg="Invalid attribute set (UseEcn) on ns3::CoDelQueueDisc", file=../../src/core/model/object-factory.cc, line=84Config::SetDefault ("ns3::CoDelQueueDisc::UseEcn", BooleanValue (true));
Config::SetDefault ("ns3::TcpSocketBase::EcnMode", StringValue ("ClassicEcn"));Hi Tom,
Thanks for the reply. I think I figured it out and looks to me that it's working properly on 3.30. Here's the modification I made:
1. Update the codel-queue-disc header and cc files with the latest one.2. Use the following to enable the ECN:
Config::SetDefault ("ns3::CoDelQueueDisc::UseEcn", BooleanValue (true));
Config::SetDefault ("ns3::TcpSocketBase::EcnMode", StringValue ("ClassicEcn"));
Best-Ashiq
Yes, in general, there are changes to how ECN is configured
between ns-3.30 and ns-3.31. If you are doing research using ECN,
I recommend to upgrade once the release is published. ns-3.31
will include ECN support in FqCoDel and CoDel.
- Tom