A-MPDU transmission in net80211 on FreeBSD 8
Alexander Egorenkov
egorenar at googlemail.com
Sun Jan 31 07:42:23 UTC 2010
And i took a look into the 802.11 stack of OpenSolaris which also supports
802.11n.
This 802.11n stack is very similar to the FreeBSD 802.11n stack and it
assigns sequence numbers to A-MPDU frames. I did it in my device driver like
802.11n stack from OpenSolaris does it.
See this link:
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/net80211/net80211_output.c
Line: 211
Alex.
On Sun, Jan 31, 2010 at 8:34 AM, Alexander Egorenkov <
egorenar at googlemail.com> wrote:
> Why doesn't 802.11 stack assign sequence numbers to A-MPDU frames ?
> When sequence numbers are not assigned to A-MPDU frames, then BA doesn't
> work with my AP.
> I tried to assign sequence numbers to A-MPDU frames in my device driver and
> then BAs worked
> with my AP.
> And what is meant by aggregation queue ? Where is that queue anf how do i
> use it ?
>
> Thanks.
>
>
> On Sun, Jan 31, 2010 at 4:43 AM, Sam Leffler <sam at errno.com> wrote:
>
>> Alexander Egorenkov wrote:
>>
>>> Sorry, i posted the wrong comment.
>>> Here is the comment which i don't understand:
>>>
>>> /*
>>> * NB: don't assign a sequence # to potential
>>> * aggregates; we expect this happens at the
>>> * point the frame comes off any aggregation q
>>> * as otherwise we may introduce holes in the
>>> * BA sequence space and/or make window accouting
>>> * more difficult.
>>> *
>>> * XXX may want to control this with a driver
>>> * capability; this may also change when we pull
>>> * aggregation up into net80211
>>> */
>>>
>>> Thanks.
>>>
>>
>> What is unclear?
>>
>> Sam
>>
>>
>>>
>>> On Wed, Jan 27, 2010 at 8:04 PM, Alexander Egorenkov <
>>> egorenar at googlemail.com> wrote:
>>>
>>> Hi,
>>>>
>>>> i'm implementing a device driver for a 802.11n NIC under FreeBSD 8
>>>> und experimented with A-MPDU transmission. I looked into net80211 code
>>>> and there is some code which implements this feature but it worked not
>>>> very
>>>> well for me.
>>>> I noticed e.g. that sequence numbers are not assigned to A-MPDU frames
>>>> and found this comment in file ieee80211_output.c :
>>>>
>>>>
>>>> /*
>>>> * Check if A-MPDU tx aggregation is setup or if we
>>>> * should try to enable it. The sta must be associated
>>>> * with HT and A-MPDU enabled for use. When the policy
>>>> * routine decides we should enable A-MPDU we issue an
>>>> * ADDBA request and wait for a reply. The frame being
>>>> * encapsulated will go out w/o using A-MPDU, or possibly
>>>> * it might be collected by the driver and held/retransmit.
>>>> * The default ic_ampdu_enable routine handles staggering
>>>> * ADDBA requests in case the receiver NAK's us or we are
>>>> * otherwise unable to establish a BA stream.
>>>> */
>>>>
>>>> Can somebody elaborate this description to me please.
>>>>
>>>> Thanks.
>>>>
>>>> ALex.
>>>>
>>>>
>>>> _______________________________________________
>>> freebsd-net at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>>>
>>>
>>>
>>
>
More information about the freebsd-net
mailing list