X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/0594958cad349a3acbb8430c549fb1358ba87836..3b3f7e203dd94995eb34a385bca33cc7282a4b8d:/package/iw/patches/001-nl80211_sync.patch diff --git a/package/iw/patches/001-nl80211_sync.patch b/package/iw/patches/001-nl80211_sync.patch index ef3bd15dd..a385897b7 100644 --- a/package/iw/patches/001-nl80211_sync.patch +++ b/package/iw/patches/001-nl80211_sync.patch @@ -1,73 +1,81 @@ --- a/nl80211.h +++ b/nl80211.h -@@ -295,7 +295,9 @@ - * auth and assoc steps. For this, you need to specify the SSID in a - * %NL80211_ATTR_SSID attribute, and can optionally specify the association - * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_MAC, -- * %NL80211_ATTR_WIPHY_FREQ and %NL80211_ATTR_CONTROL_PORT. -+ * %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, -+ * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and -+ * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT. - * It is also sent as an event, with the BSSID and response IEs when the - * connection is established or failed to be established. This can be - * determined by the STATUS_CODE attribute. -@@ -686,6 +688,15 @@ enum nl80211_commands { - * request, the driver will assume that the port is unauthorized until - * authorized by user space. Otherwise, port is marked authorized by - * default in station mode. -+ * @NL80211_ATTR_CONTROL_PORT_ETHERTYPE: A 16-bit value indicating the -+ * ethertype that will be used for key negotiation. It can be -+ * specified with the associate and connect commands. If it is not -+ * specified, the value defaults to 0x888E (PAE, 802.1X). This -+ * attribute is also used as a flag in the wiphy information to -+ * indicate that protocols other than PAE are supported. -+ * @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with -+ * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom -+ * ethertype frames used for key negotiation must not be encrypted. +@@ -148,6 +148,10 @@ + * @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to + * destination %NL80211_ATTR_MAC on the interface identified by + * %NL80211_ATTR_IFINDEX. ++ * @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by ++ * %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP. ++ * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by ++ * %NL80211_ATTR_MAC. + * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the + * the interface identified by %NL80211_ATTR_IFINDEX. + * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC +@@ -612,7 +616,7 @@ enum nl80211_commands { + * consisting of a nested array. * - * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver. - * We recommend using nested, driver-specific attributes within this. -@@ -951,6 +962,9 @@ enum nl80211_attrs { - NL80211_ATTR_RX_FRAME_TYPES, - NL80211_ATTR_FRAME_TYPE, - -+ NL80211_ATTR_CONTROL_PORT_ETHERTYPE, -+ NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, -+ - /* add attributes here, update the policy in nl80211.c */ - - __NL80211_ATTR_AFTER_LAST, -@@ -1006,6 +1020,8 @@ enum nl80211_attrs { - * @NL80211_IFTYPE_WDS: wireless distribution interface - * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames - * @NL80211_IFTYPE_MESH_POINT: mesh point -+ * @NL80211_IFTYPE_P2P_CLIENT: P2P client -+ * @NL80211_IFTYPE_P2P_GO: P2P group owner - * @NL80211_IFTYPE_MAX: highest interface type number currently defined - * @NUM_NL80211_IFTYPES: number of defined interface types + * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes). +- * @NL80211_ATTR_PLINK_ACTION: action to perform on the mesh peer link. ++ * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link. + * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path. + * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path + * info given for %NL80211_CMD_GET_MPATH, nested attribute described at +@@ -879,7 +883,9 @@ enum nl80211_commands { + * See &enum nl80211_key_default_types. * -@@ -1022,6 +1038,8 @@ enum nl80211_iftype { - NL80211_IFTYPE_WDS, - NL80211_IFTYPE_MONITOR, - NL80211_IFTYPE_MESH_POINT, -+ NL80211_IFTYPE_P2P_CLIENT, -+ NL80211_IFTYPE_P2P_GO, - - /* keep last */ - NUM_NL80211_IFTYPES, -@@ -1382,6 +1400,7 @@ enum nl80211_reg_rule_flags { - * @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved - * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel - * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm) -+ * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used - * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number - * currently defined - * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use -@@ -1390,6 +1409,7 @@ enum nl80211_survey_info { - __NL80211_SURVEY_INFO_INVALID, - NL80211_SURVEY_INFO_FREQUENCY, - NL80211_SURVEY_INFO_NOISE, -+ NL80211_SURVEY_INFO_IN_USE, + * @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be +- * changed once the mesh is active. ++ * changed once the mesh is active. ++ * @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute ++ * containing attributes from &enum nl80211_meshconf_params. + * + * @NL80211_ATTR_MAX: highest attribute number currently defined + * @__NL80211_ATTR_AFTER_LAST: internal use +@@ -1225,8 +1231,6 @@ enum nl80211_rate_info { + * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs) + * @NL80211_STA_INFO_RX_BYTES: total received bytes (u32, from this station) + * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (u32, to this station) +- * @__NL80211_STA_INFO_AFTER_LAST: internal +- * @NL80211_STA_INFO_MAX: highest possible station info attribute + * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) + * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute + * containing info as possible, see &enum nl80211_sta_info_txrate. +@@ -1236,6 +1240,13 @@ enum nl80211_rate_info { + * @NL80211_STA_INFO_TX_RETRIES: total retries (u32, to this station) + * @NL80211_STA_INFO_TX_FAILED: total failed packets (u32, to this station) + * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm) ++ * @NL80211_STA_INFO_LLID: the station's mesh LLID ++ * @NL80211_STA_INFO_PLID: the station's mesh PLID ++ * @NL80211_STA_INFO_PLINK_STATE: peer link state for the station ++ * @NL80211_STA_INFO_RX_BITRATE: last unicast rx rate, nested attribute ++ * containing info as possible, see &enum nl80211_sta_info_txrate. ++ * @__NL80211_STA_INFO_AFTER_LAST: internal ++ * @NL80211_STA_INFO_MAX: highest possible station info attribute + */ + enum nl80211_sta_info { + __NL80211_STA_INFO_INVALID, +@@ -1252,6 +1263,7 @@ enum nl80211_sta_info { + NL80211_STA_INFO_TX_RETRIES, + NL80211_STA_INFO_TX_FAILED, + NL80211_STA_INFO_SIGNAL_AVG, ++ NL80211_STA_INFO_RX_BITRATE, /* keep last */ - __NL80211_SURVEY_INFO_AFTER_LAST, + __NL80211_STA_INFO_AFTER_LAST, +@@ -1626,7 +1638,7 @@ enum nl80211_mntr_flags { + * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs) + * that it takes for an HWMP information element to propagate across the mesh + * +- * @NL80211_MESHCONF_ROOTMODE: whether root mode is enabled or not ++ * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not + * + * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a + * source mesh point for path selection elements. +@@ -1678,6 +1690,7 @@ enum nl80211_meshconf_params { + * element that vendors will use to identify the path selection methods and + * metrics in use. + * ++ * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number + * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use + */ + enum nl80211_mesh_setup_params {