Question about Wifi Mac Retransmit Time in v3.35

154 views
Skip to first unread message

Shu Lan

unread,
Jan 23, 2022, 11:58:16 PM1/23/22
to ns-3-users

I want to modify wifi mac retransmission times in ns3 (3.35).

I know that seems to be related to Slrc and Ssrc in RemoteStationManager.

I use examples/wireless/wifi-tcp.cc as a demo.

After making as a few modifications (increasing the distance between Ap and Sta node to 130 etc.) as possible, I don't see Slrc or Ssrc property in the config file.

I can not observe changes in throughput by modifying the parameter value of slrc or ssrc.

Here is the config file lines:

2022-01-24 125616.png

And here is the code.

Thanks for all replies.

wifi-tcp.cc

Soulimane Mammar

unread,
Jan 24, 2022, 7:06:24 AM1/24/22
to ns-3-users
Hi,
Ssrc and Slrc have to do with the number of retransmission attempts !! I guess this is not what you want to modify.
Perhaps you have to dig in the ns3::FrameExchangeManager class
Regards

Shu Lan

unread,
Jan 25, 2022, 12:53:50 AM1/25/22
to ns-3-users
I do want to modify the number of wifi mac retransmissions attempts. But it does not work.
The config file does not include slrc or ssrc property of remote station manager. 
This is the reason for this picture.

Soulimane Mammar

unread,
Jan 25, 2022, 7:11:24 AM1/25/22
to ns-3-users
Hi,
Have you tried using:

Config::Set ("/NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/RemoteStationManager/MaxSsrc", UintegerValue(V) );
where [i] is the node you want to configure and V the value of MaxSsrc

Regards

Shu Lan

unread,
Jan 25, 2022, 10:37:00 AM1/25/22
to ns-3-users
Yes,I tried it.
As an example:
    uint32_t retrans = 3; 
  Config::Set("/NodeList/0/DeviceList/0/$ns3::WifiNetDevice/RemoteStationManager/MaxSsrc",UintegerValue (retrans));
  Config::Set("/NodeList/1/DeviceList/0/$ns3::WifiNetDevice/RemoteStationManager/MaxSsrc",UintegerValue (retrans));
Perhaps you can download and run the above code wifi-tcp.cc to see if the config file contains these two properties in your ns3 environment.
Maybe the location of this code is wrong?

Soulimane Mammar

unread,
Jan 26, 2022, 10:07:41 AM1/26/22
to ns-3-users
Hi, 
I took a look to the source code of ns3::WifiRemoteStationManager and it looks like that MaxSsrc and  MaxSlrc  not gettable and that explains why you couldn't find them in the config file.
After Modifying wifi-remote-station-manager.cc and wifi-remote-station-manager.h the problem is solved
Find attached your file with some added code (just for testing) and the modification of  wifi-remote-station-manager.cc and wifi-remote-station-manager.h
Regards

wifi-remote-station-manager.h
wifi-tcp.cc
wifi-remote-station-manager.cc

Shu Lan

unread,
Jan 26, 2022, 11:40:19 AM1/26/22
to ns-3-users
First, thank you very much for your help!
I think this is the correct way to solve it.
But the code you provided may not match the version 3.35.
Could you please provide me your ns3 version number?
So that I can check what has been modified accordingly.
Best wishes

Message has been deleted

Soulimane Mammar

unread,
Jan 27, 2022, 4:13:56 AM1/27/22
to ns-3-users
Hi,
I'm using 3.33. I did just a couple of modification 
Find attached the diff so you can do the changes yourself
Regards
wifi-remote-station-manager.h.patch
wifi-remote-station-manager.cc.patch

Shu Lan

unread,
Jan 27, 2022, 7:05:03 AM1/27/22
to ns-3-users
Hi, it works correctly!
Thank you. I appreciate your help.

Reply all
Reply to author
Forward
0 new messages