[Ns-developers] Wifi management frames

Mirko Banchi mk.banchi at gmail.com
Wed Apr 1 12:47:24 PDT 2009


Mathieu Lacage ha scritto:
> On Tue, 2009-03-31 at 22:33 +0200, Mirko Banchi wrote:
>> Hi all,
>>
>> i have some questions about 802.11 management frames i'd like to discuss
>> with you.
>>
>> For now all management frames are handled in NqstaWifiMac, NqapWifiMac,
>> AdhocWifiMac, QapWifiMac, QstaWifiMac objects. This type of frames are
>> stored in the same queues where are stored data frames.
> 
> Outgoing beacon frames are stored in a separate queue in NqapWifiMac.
> 
>> -First question:
>>
>> Should be there a specific queue for management frames ?
>> What will happen if a station becomes disassociated (so a probeReq or a
>> associationReq are needed) and have other packets in queue?
> 
> There should not be a separate queue for nqos MACs.
> 
>> See:
>>
>> src/devices/wifi/nqsta-wifi-mac.cc
>>    NqstaWifiMac::Enqueue
>>    NstaWifiMac::TryToEnsureAssociated
>>    NqstaWifiMac::SendProbeRequest
>>
>> -Second question:
>>
>> Working with block ack there is need to send action frames (management
>> frames) in order to setup block ack. I think that the exchange of this
>> frames between two station must be accomplished with high priority. I
>> used a method
> 
> What does 802.11e say about this ?

Standard doesn't specify how and with which priority these frames are
transmitted.
> 
>> WifiMacQueue::PushFront (Ptr<Packet> packet, const WifiMacHeader &hdr)
>>
>> that pushes packets in queue's head but it's very horrible: the
>> expiration of MsduLifeTime doesn't work :(
>>
>> I think that a dedicated queue (like m_beaconDca in NqapWifiMac) could
>> resolve this problems.
> 
> It could, but I wonder what the specification requires.

I didn't find in the standard nothing about this. But there's in section
C.2 a description in SDL/PR of the operators used in MAC state machine.
In Package Macsorts is defined a type "head" with the following description:

/* place MMPDU at head of transmit queue */

So seems WifiMacQueue::PushFront makes sense.

Regards,
Mirko

-- 
Mirko Banchi

e-mail:    mk.banchi at gmail.com
e-mail:    mk.banchi at virgilio.it
id-jabber: mk.banchi at jabber.org
id-msn:    mb11684 at hotmail.com

PGP key fingerprint:

308F BFB1 4E67 2522 C88E
DC69 7631 52ED 32A5 6456

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3410 bytes
Desc: S/MIME Cryptographic Signature
Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20090401/e402fa0e/smime.bin


More information about the Ns-developers mailing list