diff --git a/src/mesh/helper/mesh-helper.cc b/src/mesh/helper/mesh-helper.cc index fa32c23fe..5497237f5 100644 --- a/src/mesh/helper/mesh-helper.cc +++ b/src/mesh/helper/mesh-helper.cc @@ -20,7 +20,10 @@ */ #include "mesh-helper.h" #include "ns3/simulator.h" +#include "ns3/pointer.h" #include "ns3/mesh-point-device.h" +#include "ns3/dca-txop.h" +#include "ns3/edca-txop-n.h" #include "ns3/wifi-net-device.h" #include "ns3/minstrel-wifi-manager.h" #include "ns3/mesh-wifi-interface-mac.h" @@ -243,6 +246,30 @@ MeshHelper::AssignStreams (NetDeviceContainer c, int64_t stream) { currentStream += mac->AssignStreams (currentStream); } + Ptr rmac = DynamicCast (mac); + if (rmac) + { + PointerValue ptr; + rmac->GetAttribute ("DcaTxop", ptr); + Ptr dcaTxop = ptr.Get (); + currentStream += dcaTxop->AssignStreams (currentStream); + + rmac->GetAttribute ("VO_EdcaTxopN", ptr); + Ptr vo_edcaTxopN = ptr.Get (); + currentStream += vo_edcaTxopN->AssignStreams (currentStream); + + rmac->GetAttribute ("VI_EdcaTxopN", ptr); + Ptr vi_edcaTxopN = ptr.Get (); + currentStream += vi_edcaTxopN->AssignStreams (currentStream); + + rmac->GetAttribute ("BE_EdcaTxopN", ptr); + Ptr be_edcaTxopN = ptr.Get (); + currentStream += be_edcaTxopN->AssignStreams (currentStream); + + rmac->GetAttribute ("BK_EdcaTxopN", ptr); + Ptr bk_edcaTxopN = ptr.Get (); + currentStream += bk_edcaTxopN->AssignStreams (currentStream); + } } } }