On 7/1/25 12:38, Ramanathan Choodamani wrote:
On 6/24/2025 3:31 PM, Ben Greear wrote:
On 6/24/25 13:57, Ramanathan Choodamani wrote:
===================================
Robust AV streaming protocols - QoS
===================================
The Robust AV stream protocols are mobile centric protocols - meaning they
are initiated by a non-AP STA to the AP. These protocols are implemented
at the Access Point (AP) to classify packets sent to the non-AP STA which requests
classification using action frames. The non-AP STA initiates Robust AV streaming
action frames requesting for specific classification for the IP packets
destined to the non-AP STA from the AP. These parameters can be negotiated by both
AP and non-AP STA.
Upon successful handshake, The AP classifies incoming individually addressed MSDUs
(Mac Service Data Unit) based upon parameters provided by the non-AP STA or
notifies the non-AP STA to transmit MSDUs with preferred parameters based upon
what was exchanged.
Robust AV streaming improves AV (Audio and Video) streaming performance when
using IEEE Std 802.11 for consumer and enterprise applications.
Let's look at the Robust AV streaming protocols which are implemented as a
part of this design.
Thank you for posting this and for the beautiful ascii diagrams!
Since this will be poking netfilter rules into the kernel,
is there a good way to clean up all rules created by a previous
hostapd process in case hostapd crashes or is killed hard and
cannot do its own cleanup? Maybe the rules could have some
special marking that is configurable per hostapd (or per AP or BSS or something)
so that a (re)started hostapd could clean up any leftovers from a
previous instance?
hostapd does its own cleanup (cleanup of stations and interfaces)
when it receives SIGTERM.
hostapd could crash without being able to clean up, though.
So I think you need a way to query the kernel's state and
clean it up in this case.
An nft chain is created for each AP netdev/interface.
The nft rule handle (stored in internal hostapd data structure) and
nft chain metadata can be used to cleanup/flush the nft rules as part of the
interface cleanup.
And, is there a mechanism to clean up flows that a buggy non-AP STA
has requested but then forgot to terminate (like phone starts a video call,
requests some QoS, then forgets to tell AP that it is done with the call
and packets no longer need to be classified?)
Thanks,
Ben
The scs objects of the stations will be cleaned up during the station
disconnect (by the AP which is maintaining them).
As part of this deletion, the nft rules are also deleted, using the
stored nft rule handle.
A station may be long lived, and it may be bad at cleaning up
its sessions, so the AP may end up with a large amount of classification rules
that are not actually needed, possibly slowing down performance
and/or limiting other stations from being able to add their own
flows.
Can you add time duration and/or detect idle flows and clean them
up automatically on the AP?
Thanks,
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com