History

nl80211: Add CMD_CONTROL_PORT_FRAME API

This commit also adds cfg80211_rx_control_port function. This is used to generate a CMD_CONTROL_PORT_FRAME event out to userspace. The conn_owner_nlportid is used as the unicast destination. This means that userspace must specify NL80211_ATTR_SOCKET_OWNER flag if control port over nl80211 routing is requested in NL80211_CMD_CONNECT, NL80211_CMD_ASSOCIATE, NL80211_CMD_START_AP or IBSS/mesh join.

Denis Kenzior committed 8 years ago

Commit 6a671a51 parent 4d191c74 files · +114 −0Browse files

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

Unified · Split

include/uapi/linux/nl80211.h+13−0
@@ -990,6 +990,17 @@ · 989 unmodified lines
990990 * &NL80211_CMD_CONNECT or &NL80211_CMD_ROAM. If the 4 way handshake failed
991991 * &NL80211_CMD_DISCONNECT should be indicated instead.
992992 *
993+ * @NL80211_CMD_CONTROL_PORT_FRAME: Control Port (e.g. PAE) frame TX request
994+ * and RX notification. This command is used both as a request to transmit
995+ * a control port frame and as a notification that a control port frame
996+ * has been received. %NL80211_ATTR_FRAME is used to specify the
997+ * frame contents. The frame is the raw EAPoL data, without ethernet or
998+ * 802.11 headers.
999+ * When used as an event indication %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
1000+ * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT and %NL80211_ATTR_MAC are added
1001+ * indicating the protocol type of the received frame; whether the frame
1002+ * was received unencrypted and the MAC address of the peer respectively.
1003+ *
9931004 * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded.
9941005 *
9951006 * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host
@@ -1228,6 +1239,8 @@ enum nl80211_commands { · 232 unmodified lines
12281239
12291240 NL80211_CMD_STA_OPMODE_CHANGED,
12301241
1242+ NL80211_CMD_CONTROL_PORT_FRAME,
1243+
12311244 /* add new commands above here */
12321245
12331246 /* used to define NL80211_CMD_MAX below */