Search Linux Wireless

Re: [wireless-next 1/2] wifi: mac80211: support encoding S1G TIM PVB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2025-07-22 at 17:16 +1000, Lachlan Hodges wrote:
> An S1G PPDU TIM PVB (Partial Virtual Bitmap) follows a different
> format to non-S1G PPDU's. An S1G TIM PVB breaks down the contiguous
> AID bitmap into encoded blocks and only sends an encoded block if
> there is at least one AID with buffered unicast traffic.
> 
> An S1G PPDU TIM represents groups of AIDS with an array of encoded
> blocks. Each encoded block represents 64 AIDs and is only present if
> at least one AID within the group of 64 is present. Each encoded
> block can contain 0 to 8 subblocks, where each subblock represents 8
> AIDs. Similarly to the encoded blocks, sublocks are only added if there
> is at least 1 AID set within that subblock. If a subblock is present,
> the subblocks bit is set in the block bitmap which precedes the
> sublock bitmap.
> 
> As page slicing is currently not supported by mac80211, we limit the
> S1G max AID to 1600. This is due to the fact that the TIM element has
> a maximum length of 255, such that we have DTIM count + DTIM period +
> bitmap control = 3 bytes, leaving us with 252 bytes for encoded
> blocks. Each encoded block has a maximum size of 10 bytes (assuming
> every AID is set) leaving us with 25 * 10 + 3 = 253 bytes.

Looking at the spec, this seems like a bit of a simplification, since it
also allows for "Single AID" and "OLB" modes, where I think this only
covers "Block Bitmap" mode?

> Correctly encode the S1G PPDU TIM PVB utilising the TIM bitmap.

No argument there though, the transmitter doesn't _have_ to use the most
space-efficient encoding.

johannes





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux