Skip to content

Error when integrating ofsoftswitch13 with NS3.31 #309

@shizhenzhao

Description

@shizhenzhao

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions