History

nl80211: add ability to report TX status for control port TX

This adds the necessary capabilities in nl80211 to allow drivers to assign a cookie to control port TX frames (returned via extack in the netlink ACK message of the command) and then later report the frame's status.

Markus Theil committed 6 years ago

Commit dca9ca21 parent 3c232157 files · +91 −14Browse files

Showing the changes to include/uapi/linux (1 of 7 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+12−0
@@ -1164,6 +1164,12 @@ · 1163 unmodified lines
1164 * dropped because it did not include a valid MME MIC while beacon1164 * dropped because it did not include a valid MME MIC while beacon
1165 * protection was enabled (BIGTK configured in station mode).1165 * protection was enabled (BIGTK configured in station mode).
1166 *1166 *
1167 * @NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS: Report TX status of a control
1168 * port frame transmitted with %NL80211_CMD_CONTROL_PORT_FRAME.
1169 * %NL80211_ATTR_COOKIE identifies the TX command and %NL80211_ATTR_FRAME
1170 * includes the contents of the frame. %NL80211_ATTR_ACK flag is included
1171 * if the recipient acknowledged the frame.
1172 *
1167 * @NL80211_CMD_MAX: highest used command number1173 * @NL80211_CMD_MAX: highest used command number
1168 * @__NL80211_CMD_AFTER_LAST: internal use1174 * @__NL80211_CMD_AFTER_LAST: internal use
1169 */1175 */
@@ -1392,6 +1398,8 @@ enum nl80211_commands { · 222 unmodified lines
1392 1398
1393 NL80211_CMD_UNPROT_BEACON,1399 NL80211_CMD_UNPROT_BEACON,
1394 1400
1401 NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS,
1402
1395 /* add new commands above here */1403 /* add new commands above here */
1396 1404
1397 /* used to define NL80211_CMD_MAX below */1405 /* used to define NL80211_CMD_MAX below */
@@ -5729,6 +5737,9 @@ enum nl80211_feature_flags { · 4331 unmodified lines
5729 * report %NL80211_ATTR_SCAN_FREQ_KHZ, %NL80211_SCAN_FLAG_FREQ_KHZ must be5737 * report %NL80211_ATTR_SCAN_FREQ_KHZ, %NL80211_SCAN_FLAG_FREQ_KHZ must be
5730 * included in the scan request.5738 * included in the scan request.
5731 *5739 *
5740 * @NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS: The driver
5741 * can report tx status for control port over nl80211 tx operations.
5742 *
5732 * @NUM_NL80211_EXT_FEATURES: number of extended features.5743 * @NUM_NL80211_EXT_FEATURES: number of extended features.
5733 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.5744 * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
5734 */5745 */
@@ -5783,6 +5794,7 @@ enum nl80211_ext_feature_index { · 48 unmodified lines
5783 NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS,5794 NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS,
5784 NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT,5795 NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT,
5785 NL80211_EXT_FEATURE_SCAN_FREQ_KHZ,5796 NL80211_EXT_FEATURE_SCAN_FREQ_KHZ,
5797 NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS,
5786 5798
5787 /* add new features before the definition below */5799 /* add new features before the definition below */
5788 NUM_NL80211_EXT_FEATURES,5800 NUM_NL80211_EXT_FEATURES,