Bug 1736

Summary: default dot11EDCATableMSDULifetime
Product: ns-3 Reporter: Junling Bu <linlinjavaer>
Component: wifiAssignee: sebastien.deronne
Status: RESOLVED FIXED    
Severity: normal CC: gbadawy, ns-bugs, ruben, tomh
Priority: P5    
Version: ns-3-dev   
Hardware: All   
OS: All   
Attachments: patch to set default dot11EDCATableMSDULifetime

Description Junling Bu 2013-07-24 05:34:59 UTC
Created attachment 1647 [details]
patch to set default dot11EDCATableMSDULifetime

in src/wifi/model/wifi-mac-queue.cc, the default value of Attribute MaxDelay is 10s, I think here MaxDelay indicates dot11EDCATableMSDULifetime which the default value shall be 500ms.

The 802.11-2007 Annex D, page 1020 describes

dot11EDCATableMSDULifetime OBJECT-TYPE
SYNTAX INTEGER (0..500)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This attribute shall specify (in TUs) the maximum duration an
MSDU, for a given AC, would be retained by the MAC before it is
discarded. The default value for this parameter shall be 500."
::= { dot11EDCAEntry 6 }
Comment 1 sebastien.deronne 2015-05-27 10:48:10 UTC
Anyone has an idea where the 10s value comes from?
Was it just a value "picked up randomly" or is there a clear reason behind this choice?
Comment 2 Junling Bu 2015-06-03 06:33:21 UTC
(In reply to sebastien.deronne from comment #1)
> Anyone has an idea where the 10s value comes from?
> Was it just a value "picked up randomly" or is there a clear reason behind
> this choice?

Hi,

I found this issue but I am not sure whether this is a bug or not.
However, I think it will affect the simulation results.

For example, if we set it to 500ms, some packets queued in the MAC internal queue will be dropped and not be transmitted by PHY layer.
Thus these packets will be taken as lost from the perspective of high layer. 
Besides that, the average packet delay should be less than that of current configuartion (10s).
Sometimes, if I use a bigger node number, such as 200, the delay can be higher than 500ms.

Thanks.

Junling
Comment 3 sebastien.deronne 2015-06-03 07:49:43 UTC
IMO your proposition seems ok.

But I propose to contact the initial authors of the class (namely Mathieu Lacage and Mirko Banchi) in order to have a better view on their choice for 10s.
Comment 4 gbadawy 2015-06-03 09:34:53 UTC
Junling is right the value in the standard is 500ms. I think the authors picked 10s to simulate infinite buffer?
Comment 5 sebastien.deronne 2015-06-03 10:02:11 UTC
This is also my view.
I will contact them to be sure.
Comment 6 sebastien.deronne 2015-06-05 15:31:25 UTC
Mirko agrees that we should reduce it to be standard compliant.
Mathieu suspects it was done to mirror actual devices but doesn't remember very well.

Anyhow, I am in favor to shrink it to the standard value of 500ms. If users want to use 10s values, then they should set it explicitly.
Comment 7 Tom Henderson 2015-06-05 15:48:55 UTC
+1
Comment 8 sebastien.deronne 2015-06-05 17:33:30 UTC
Some tests fails by changing the default value, we should either rebuild the pcap files or set the value to 10s in the tests.
Comment 9 Tom Henderson 2015-06-05 17:40:27 UTC
(In reply to sebastien.deronne from comment #8)
> Some tests fails by changing the default value, we should either rebuild the
> pcap files or set the value to 10s in the tests.

I suggest to set it to 10s in the tests (if that works).  Otherwise, you can regenerate and check the new pcaps are reasonably close to the old ones.  Test.py has an option "-u" which will generate the new pcaps and replace the old ones.
Comment 10 sebastien.deronne 2015-06-05 17:57:39 UTC
Sorry, I made a stupid mistake, there is no broken test by shrinking the default value to 500ms.

The fix is committed in changeset 11422:82596c0df344.