-
Notifications
You must be signed in to change notification settings - Fork 192
Description
I want an NS3 that supports both ofsoftswitch13 and DCTCP. However, DCTCP is only supported in NS3.31, while ofsoftswitch13 is only supported in NS3.28 and NS3.29.
I tried modifying the NS3 ofsoftswitch13 (NS3.29 version) module as follows:
1 In ofswitch13-queue.cc
Change "Head()" to "begin()", and change "Tail()" to "end()"
2 In ofswitch13-port.cc:
Change "SetOpenFlowReceiveCallback" to "SetReceiveCallback"
Change
"bool
OFSwitch13Port::Receive (Ptr device, Ptr packet,uint16_t protocol, const Address &from,
const Address &to, NetDevice::PacketType packetType)"
to
"bool
OFSwitch13Port::Receive (Ptr device, Ptr packet,uint16_t protocol, const Address &from)"
3 In ofswitch13-priority-queue.cc:
Add a MaxSize attribute to the ofswitch13 priority queue:
.AddAttribute ("MaxSize",
"The max queue size",
QueueSizeValue (QueueSize ("100p")),
MakeQueueSizeAccessor (&QueueBase::SetMaxSize,
&QueueBase::GetMaxSize),
MakeQueueSizeChecker ())
With these modifications, NS3.31 compiles successfully. However, when I run a test, NS3.31 crashes and the following assertion error prompts:
"m_current + delta <= m_dataEnd"
Any clue?