cfg80211: add support to probe unexercised mesh link

Adding support to allow mesh HWMP to measure link metrics on unexercised
direct mesh path by sending some data frames to other mesh points which
are not currently selected as a primary traffic path but only 1 hop away.
The absence of the primary path to the chosen node makes it necessary to
apply some form of marking on a chosen packet stream so that the packets
can be properly steered to the selected node for testing, and not by the
regular mesh path lookup.

Tested-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Rajkumar Manoharan
2019-04-11 13:47:24 -07:00
committed by Johannes Berg
parent 387bc00225
commit 5ab92e7fe4
5 changed files with 101 additions and 0 deletions

View File

@@ -1070,6 +1070,21 @@
* OWE AKM by the host drivers that implement SME but rely
* on the user space for the cryptographic/DH IE processing in AP mode.
*
* @NL80211_CMD_PROBE_MESH_LINK: The requirement for mesh link metric
* refreshing, is that from one mesh point we be able to send some data
* frames to other mesh points which are not currently selected as a
* primary traffic path, but which are only 1 hop away. The absence of
* the primary path to the chosen node makes it necessary to apply some
* form of marking on a chosen packet stream so that the packets can be
* properly steered to the selected node for testing, and not by the
* regular mesh path lookup. Further, the packets must be of type data
* so that the rate control (often embedded in firmware) is used for
* rate selection.
*
* Here attribute %NL80211_ATTR_MAC is used to specify connected mesh
* peer MAC address and %NL80211_ATTR_FRAME is used to specify the frame
* content. The frame is ethernet data.
*
* @NL80211_CMD_MAX: highest used command number
* @__NL80211_CMD_AFTER_LAST: internal use
*/
@@ -1292,6 +1307,8 @@ enum nl80211_commands {
NL80211_CMD_UPDATE_OWE_INFO,
NL80211_CMD_PROBE_MESH_LINK,
/* add new commands above here */
/* used to define NL80211_CMD_MAX below */