Thread (5 messages) 5 messages, 3 authors, 2021-12-04

RE: [RFC] mac80211: Mesh Fast xmit support

flat view

From: Sriram R (QUIC) <hidden>
Date: 2021-12-04 09:38:41

-----Original Message-----
From: Felix Fietkau <nbd@nbd.name>
Sent: Saturday, December 4, 2021 2:49 PM
To: Sriram R <redacted>; Sriram R (QUIC)
[off-list ref]; linux-wireless@vger.kernel.org
Cc: johannes@sipsolutions.net
Subject: Re: [RFC] mac80211: Mesh Fast xmit support

WARNING: This email originated from outside of Qualcomm. Please be wary
of any links or attachments, and do not enable macros.

On 2021-12-04 10:14, Sriram R wrote:
quoted
quoted
-----Original Message-----
From: Felix Fietkau <nbd@nbd.name>
Sent: Saturday, December 4, 2021 1:55 PM
To: Sriram R (QUIC) <redacted>; linux-
wireless@vger.kernel.org
Cc: johannes@sipsolutions.net
Subject: Re: [RFC] mac80211: Mesh Fast xmit support

WARNING: This email originated from outside of Qualcomm. Please be
wary of any links or attachments, and do not enable macros.

On 2021-12-04 03:04, Sriram R wrote:
quoted
Support Fast xmit for mesh device types by caching the header
corresponding to the ethernet DA and reusing the cached header
(mac, mesh, llc) everytime the packet is intended for that DA.

This will avoid multiple path table lookups during header
generation for a mesh packet tx.

Freshness of the header is verified by identifying change in mesh
paths before using the header and corresponding changes to the
header and cache entry is done on the fly.

Mutable fields of the header such as eth SA, tid, mesh SN, PN are
updated for each xmit.

Each cache entry is about 100Bytes, least used/expired entries are
periodically removed when cache gets almost full.
Currently the size is set to 50 entries.

Driver needs to advertise NL80211_EXT_FEATURE_MESH_FAST_XMIT
to enable this support and setup this cache.
Thanks for working on this! I will likely take a closer look at it soon.
One quick question: does this impose any extra requirements on the
driver, or why does the driver need to advertise support for this?
Hi Felix,

  There is no requirement from driver/hw as such and this has similar
requirement as IEEE80211_HW_SUPPORT_FAST_XMIT being enabled from
driver.
quoted
But I was not sure if adding ~5KB (50 entries x ~100Bytes) by default
was acceptable for those drivers which already enabled FAST_XMIT.
Hence added this extra control from driver to enable this feature for this
RFC.
quoted
Kindly suggest if other alternatives could be taken up.
I think 5 KB memory use is very small compared to the memory used for
packets and other data. If this is only about memory use, it also doesn't make
much sense to me for the driver to decide if this is going to be used.
My suggestion would be to not introduce an extra capability and simply
enable it if fast-xmit is supported.
Sure, Agreed
Maybe it would make sense to allow the user to configure this, because
some networks might benefit from a larger cache.
Right, I'll add it in the next version.

Thanks,
Sriram.R
- Felix
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help