Let me introduce myself first. My name is Kevin, Lee.
I am a PhD student in University of Melbourne and am preparing for a simulation using omnet++ 4.6 and inetmanet 2.0.
While doing the simulation, I met a problem and asked you for some help.
Thanks to your prior implementation, I saved a lot of time.
However I met a problem in changing SO(SuperframeOrder) dynamically.
When I changed SO during the simulation running, the number of packet drop is dramatically increased.
Roughly 50% of the packets were dropped.
To check if it is correct, I did some additional experiment as follows.
0. Simulation environment
a. Omnet++4.6, inetmanet 2.0
b. Topology : StarNet (Star network) in inetmanet 2.0,
3 nodes (host 1 : PAN coordinator & receiver, host 0/2 : source device)
c. Simulation parameter (please find attached “omnetpp.ini” file for more parameters)
**.host[*].**.mac.ack4Gts = true
**.host[*].**.mac.gtsPayload = 10 # should be consistent with that in trafconfig.xml
**.host[*].**.mac.dataTransMode = 1 # 1: direct; 2: indirect; 3: GTS
**.host[*].**.mac.isRecvGTS = false # ignored
1. Fix the SO(**.mac.SO=4) from the start(omnetpp.ini) and executed it.
2. Change the SO(**.mac.SO=7) from the start(omnetpp.ini) and executed it.
a. The delay was decreased but the number of packet drop rate was similar to the 1st case.
3. Change the SO value in the function “void Ieee802154Mac::handleBcnTxTimer()” dynamically.
- Old code
txSfSpec.SO = mpib.macSuperframeOrder;
txSfSpec.SD = aBaseSuperframeDuration * (1 << mpib.macSuperframeOrder);
- New code
uint8_t so= (uint8_t)par("SO") + intrand(4);
mpib.macSuperframeOrder= so;
txSfSlotDuration = aBaseSlotDuration * (1 << mpib.macSuperframeOrder);
txSfSpec.SO = so;
txSfSpec.SD = aBaseSuperframeDuration * (1 << txSfSpec.SO);
- The average delay was decreased, but actually I used acknowledged mode and the number of dropped packets were increased to 50%.
scalar Ieee802154StarNet.host[0].nic.mac "Total simulation time" 179.99452604265
scalar Ieee802154StarNet.host[0].nic.mac "total num of upper pkts received" 300
scalar Ieee802154StarNet.host[0].nic.mac "num of upper pkts dropped" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of BEACON pkts sent" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of DATA pkts sent successfully" 192
scalar Ieee802154StarNet.host[0].nic.mac "num of DATA pkts failed" 107
scalar Ieee802154StarNet.host[0].nic.mac "num of DATA pkts sent successfully in GTS" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of DATA pkts failed in GTS" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of ACK pkts sent" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of BEACON pkts received" 46
scalar Ieee802154StarNet.host[0].nic.mac "num of BEACON pkts lost" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of DATA pkts received" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of DATA pkts received in GTS" 0
scalar Ieee802154StarNet.host[0].nic.mac "num of ACK pkts received" 192
scalar Ieee802154StarNet.host[0].nic.mac "num of collisions" 182
scalar Ieee802154StarNet.host[2].nic.mac "Total simulation time" 179.99452604265
scalar Ieee802154StarNet.host[2].nic.mac "total num of upper pkts received" 312
scalar Ieee802154StarNet.host[2].nic.mac "num of upper pkts dropped" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of BEACON pkts sent" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of DATA pkts sent successfully" 204
scalar Ieee802154StarNet.host[2].nic.mac "num of DATA pkts failed" 107
scalar Ieee802154StarNet.host[2].nic.mac "num of DATA pkts sent successfully in GTS" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of DATA pkts failed in GTS" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of ACK pkts sent" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of BEACON pkts received" 46
scalar Ieee802154StarNet.host[2].nic.mac "num of BEACON pkts lost" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of DATA pkts received" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of DATA pkts received in GTS" 0
scalar Ieee802154StarNet.host[2].nic.mac "num of ACK pkts received" 204
scalar Ieee802154StarNet.host[2].nic.mac "num of collisions" 176
Could you please give me a hint to solve out this problem ?
I appreciate your help and support in advance.
Thanks and regards,
Kevin