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.
Showing the changes to include/uapi/linux (1 of 4 files). Show all
Unified · Split
| @@ -990,6 +990,17 @@ · 989 unmodified lines | ||
| 990 | 990 | * &NL80211_CMD_CONNECT or &NL80211_CMD_ROAM. If the 4 way handshake failed |
| 991 | 991 | * &NL80211_CMD_DISCONNECT should be indicated instead. |
| 992 | 992 | * |
| 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 | + * | |
| 993 | 1004 | * @NL80211_CMD_RELOAD_REGDB: Request that the regdb firmware file is reloaded. |
| 994 | 1005 | * |
| 995 | 1006 | * @NL80211_CMD_EXTERNAL_AUTH: This interface is exclusively defined for host |
| @@ -1228,6 +1239,8 @@ enum nl80211_commands { · 232 unmodified lines | ||
| 1228 | 1239 | |
| 1229 | 1240 | NL80211_CMD_STA_OPMODE_CHANGED, |
| 1230 | 1241 | |
| 1242 | + NL80211_CMD_CONTROL_PORT_FRAME, | |
| 1243 | + | |
| 1231 | 1244 | /* add new commands above here */ |
| 1232 | 1245 | |
| 1233 | 1246 | /* used to define NL80211_CMD_MAX below */ |