<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/mac80211/mesh.h, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2024-04-17T07:21:32Z</updated>
<entry>
<title>wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded</title>
<updated>2024-04-17T07:21:32Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2024-04-15T12:18:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8c75cdcdf869acabfdc7858827099dcde9f24e6c'/>
<id>urn:sha1:8c75cdcdf869acabfdc7858827099dcde9f24e6c</id>
<content type='text'>
Depending on the origin of the packets (and their SA), 802.11 + mesh headers
could be filled in differently. In order to properly deal with that, add a
new field to the lookup key, indicating the type (local, proxied or
forwarded). This can fix spurious packet drop issues that depend on the order
in which nodes/hosts communicate with each other.

Fixes: d5edb9ae8d56 ("wifi: mac80211: mesh fast xmit support")
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Link: https://msgid.link/20240415121811.13391-1-nbd@nbd.name
[use sizeof_field() for key_len]
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: add missing kernel-doc for fast_tx_check</title>
<updated>2024-02-08T14:00:44Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2024-02-06T12:45:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03145a1d5d38eb1fe79d3bc01d37bf4f28076796'/>
<id>urn:sha1:03145a1d5d38eb1fe79d3bc01d37bf4f28076796</id>
<content type='text'>
This was added earlier, add kernel-doc for it.

Link: https://msgid.link/20240206134555.6354b0ac8610.Ib90d3651834c556b73697388f59bd396a1f6f9b0@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: mesh: Remove unused function declaration mesh_ids_set_default()</title>
<updated>2023-08-22T19:40:40Z</updated>
<author>
<name>Yue Haibing</name>
</author>
<published>2023-07-31T14:07:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a3d9c4f7c43dd9b0accc26573b54e4a0bce1f4a6'/>
<id>urn:sha1:a3d9c4f7c43dd9b0accc26573b54e4a0bce1f4a6</id>
<content type='text'>
Commit ccf80ddfe492 ("mac80211: mesh function and data structures
definitions") introducted this but never implemented it.

Signed-off-by: Yue Haibing &lt;yuehaibing@huawei.com&gt;
Reviewed-by: Simon Horman &lt;horms@kernel.org&gt;
Link: https://lore.kernel.org/r/20230731140712.1204-1-yuehaibing@huawei.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: consistently use u64 for BSS changes</title>
<updated>2023-06-06T12:16:48Z</updated>
<author>
<name>Anjaneyulu</name>
</author>
<published>2023-06-04T09:11:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=15ddba5f43114c1fd9cd83676e04a9e1acf8e37f'/>
<id>urn:sha1:15ddba5f43114c1fd9cd83676e04a9e1acf8e37f</id>
<content type='text'>
Currently, enum ieee80211_bss_change has more than 32 flags.
Change the type of the corresponding variables from u32 to u64.

Signed-off-by: Anjaneyulu &lt;pagadala.yesu.anjaneyulu@intel.com&gt;
Signed-off-by: Gregory Greenman &lt;gregory.greenman@intel.com&gt;
Link: https://lore.kernel.org/r/20230604120651.10354a05eaf1.If19359262fe2728dd523ea6d7c3aa7dc50940411@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: enable EHT mesh support</title>
<updated>2023-03-31T09:09:59Z</updated>
<author>
<name>Ryder Lee</name>
</author>
<published>2023-03-27T17:07:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df1875c4f345092716f1529d6e8c43e7fc7f250a'/>
<id>urn:sha1:df1875c4f345092716f1529d6e8c43e7fc7f250a</id>
<content type='text'>
Similar to AP beacon, this enables the basic mesh EHT mode, including
EHT operation IE and the fixed field of EHT operation information IE.
As for the optional part (i.e. preamble puncturing bitmap) will be
added in future patch.

Tested-by: Lian Chen &lt;lian.chen@mediatek.com&gt;
Signed-off-by: Ryder Lee &lt;ryder.lee@mediatek.com&gt;
Link: https://lore.kernel.org/r/1e0ddb9001312451c3e99c4eed2072caf8075f61.1679935259.git.ryder.lee@mediatek.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>wifi: mac80211: mesh fast xmit support</title>
<updated>2023-03-22T12:31:18Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2023-03-14T09:59:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d5edb9ae8d568745f893c5c5fa3837d85311b131'/>
<id>urn:sha1:d5edb9ae8d568745f893c5c5fa3837d85311b131</id>
<content type='text'>
Previously, fast xmit only worked on interface types where initially a
sta lookup is performed, and a cached header can be attached to the sta,
requiring only some fields to be updated at runtime.

This technique is not directly applicable for a mesh device type due
to the dynamic nature of the topology and protocol. There are more
addresses that need to be filled, and there is an extra header with a
dynamic length based on the addressing mode.

Change the code to cache entries contain a copy of the mesh subframe header +
bridge tunnel header, as well as an embedded struct ieee80211_fast_tx, which
contains the information for building the 802.11 header.

Add a mesh specific early fast xmit call, which looks up a cached entry and
adds only the mesh subframe header, before passing it over to the generic
fast xmit code.

To ensure the changes in network are reflected in these cached headers,
flush affected cached entries on path changes, as well as other conditions
that currently trigger a fast xmit check in other modes (key changes etc.)

This code is loosely based on a previous implementation by:
Sriram R &lt;quic_srirrama@quicinc.com&gt;

Cc: Sriram R &lt;quic_srirrama@quicinc.com&gt;
Signed-off-by: Ryder Lee &lt;ryder.lee@mediatek.com&gt;
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Link: https://lore.kernel.org/r/20230314095956.62085-4-nbd@nbd.name
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh</title>
<updated>2022-01-04T14:11:49Z</updated>
<author>
<name>Pavel Skripkin</name>
</author>
<published>2021-12-30T19:55:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8b5cb7e41d9d77ffca036b0239177de123394a55'/>
<id>urn:sha1:8b5cb7e41d9d77ffca036b0239177de123394a55</id>
<content type='text'>
Syzbot hit NULL deref in rhashtable_free_and_destroy(). The problem was
in mesh_paths and mpp_paths being NULL.

mesh_pathtbl_init() could fail in case of memory allocation failure, but
nobody cared, since ieee80211_mesh_init_sdata() returns void. It led to
leaving 2 pointers as NULL. Syzbot has found null deref on exit path,
but it could happen anywhere else, because code assumes these pointers are
valid.

Since all ieee80211_*_setup_sdata functions are void and do not fail,
let's embedd mesh_paths and mpp_paths into parent struct to avoid
adding error handling on higher levels and follow the pattern of others
setup_sdata functions

Fixes: 60854fd94573 ("mac80211: mesh: convert path table to rhashtable")
Reported-and-tested-by: syzbot+860268315ba86ea6b96b@syzkaller.appspotmail.com
Signed-off-by: Pavel Skripkin &lt;paskripkin@gmail.com&gt;
Link: https://lore.kernel.org/r/20211230195547.23977-1-paskripkin@gmail.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: fix some spelling mistakes</title>
<updated>2021-06-23T10:36:32Z</updated>
<author>
<name>Zheng Yongjun</name>
</author>
<published>2021-06-07T15:00:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ab4040df6efb87f92c7ec5bd65b5a093654d6a85'/>
<id>urn:sha1:ab4040df6efb87f92c7ec5bd65b5a093654d6a85</id>
<content type='text'>
Fix some spelling mistakes in comments:
freeed  ==&gt; freed
addreses  ==&gt; addresses
containging  ==&gt; containing
capablity  ==&gt; capability
sucess  ==&gt; success
atleast  ==&gt; at least

Signed-off-by: Zheng Yongjun &lt;zhengyongjun3@huawei.com&gt;
Link: https://lore.kernel.org/r/20210607150047.2855962-1-zhengyongjun3@huawei.com
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: add HE 6 GHz Band Capability element</title>
<updated>2020-05-31T09:26:39Z</updated>
<author>
<name>Rajkumar Manoharan</name>
</author>
<published>2020-05-28T19:34:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24a2042cb22fdfc7feef0df9622f0d9d71b8ced1'/>
<id>urn:sha1:24a2042cb22fdfc7feef0df9622f0d9d71b8ced1</id>
<content type='text'>
Construct HE 6 GHz band capability element (IEEE 802.11ax/D6.0,
9.4.2.261) for association request and mesh beacon. The 6 GHz
capability information is passed by driver through iftypes caps.

Signed-off-by: Rajkumar Manoharan &lt;rmanohar@codeaurora.org&gt;
Link: https://lore.kernel.org/r/1589399105-25472-7-git-send-email-rmanohar@codeaurora.org
[handle SMPS, adjust for previous patches, reserve SKB space properly,
 change to handle SKB directly]
Link: https://lore.kernel.org/r/20200528213443.643aa8101111.I3f9747c1147480f65445f13eda5c4a5ed4e86757@changeid
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
<entry>
<title>mac80211: implement HE support for mesh</title>
<updated>2019-07-26T14:14:12Z</updated>
<author>
<name>Sven Eckelmann</name>
</author>
<published>2019-07-24T16:33:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=60ad72da55ac74a67d0eae5fb57327d7b4967786'/>
<id>urn:sha1:60ad72da55ac74a67d0eae5fb57327d7b4967786</id>
<content type='text'>
Implement the basics required for supporting high efficiency with mesh:
include HE information elements in beacons, probe responses, and peering
action frames, and check for compatible HE configurations when peering.

Signed-off-by: Sven Eckelmann &lt;seckelmann@datto.com&gt;

Forwarded: https://patchwork.kernel.org/patch/11029299/
Link: https://lore.kernel.org/r/20190724163359.3507-2-sven@narfation.org
Signed-off-by: Johannes Berg &lt;johannes.berg@intel.com&gt;
</content>
</entry>
</feed>
