WFD: Add Wi-Fi Display support
This commit adds control interface commands and internal storage of Wi-Fi Display related configuration. In addition, WFD IE is now added to various P2P frames, Probe Request/Response, and (Re)Association Request/Response frames. WFD subelements from peers are stored in the P2P peer table. Following control interface commands are now available: SET wifi_display <0/1> GET wifi_display WFD_SUBELEM_SET <subelem> [hexdump of length+body] WFD_SUBELEM_GET <subelem> Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
eb7719ff22
commit
9675ce354a
19 changed files with 1020 additions and 23 deletions
|
@ -97,6 +97,11 @@ static int ieee802_11_parse_vendor_specific(const u8 *pos, size_t elen,
|
|||
elems->p2p = pos;
|
||||
elems->p2p_len = elen;
|
||||
break;
|
||||
case WFD_OUI_TYPE:
|
||||
/* Wi-Fi Alliance - WFD IE */
|
||||
elems->wfd = pos;
|
||||
elems->wfd_len = elen;
|
||||
break;
|
||||
case HS20_INDICATION_OUI_TYPE:
|
||||
/* Hotspot 2.0 */
|
||||
elems->hs20 = pos;
|
||||
|
|
|
@ -37,6 +37,7 @@ struct ieee802_11_elems {
|
|||
const u8 *vht_operation;
|
||||
const u8 *vendor_ht_cap;
|
||||
const u8 *p2p;
|
||||
const u8 *wfd;
|
||||
const u8 *link_id;
|
||||
const u8 *interworking;
|
||||
const u8 *hs20;
|
||||
|
@ -69,6 +70,7 @@ struct ieee802_11_elems {
|
|||
u8 vht_operation_len;
|
||||
u8 vendor_ht_cap_len;
|
||||
u8 p2p_len;
|
||||
u8 wfd_len;
|
||||
u8 interworking_len;
|
||||
u8 hs20_len;
|
||||
u8 ext_capab_len;
|
||||
|
|
|
@ -701,6 +701,8 @@ struct ieee80211_vht_operation {
|
|||
#define WPS_IE_VENDOR_TYPE 0x0050f204
|
||||
#define OUI_WFA 0x506f9a
|
||||
#define P2P_IE_VENDOR_TYPE 0x506f9a09
|
||||
#define WFD_IE_VENDOR_TYPE 0x506f9a0a
|
||||
#define WFD_OUI_TYPE 10
|
||||
#define HS20_IE_VENDOR_TYPE 0x506f9a10
|
||||
|
||||
#define WMM_OUI_TYPE 2
|
||||
|
@ -934,6 +936,20 @@ enum p2p_sd_status {
|
|||
};
|
||||
|
||||
|
||||
enum wifi_display_subelem {
|
||||
WFD_SUBELEM_DEVICE_INFO = 0,
|
||||
WFD_SUBELEM_ASSOCIATED_BSSID = 1,
|
||||
WFD_SUBELEM_AUDIO_FORMATS = 2,
|
||||
WFD_SUBELEM_VIDEO_FORMATS = 3,
|
||||
WFD_SUBELEM_3D_VIDEO_FORMATS = 4,
|
||||
WFD_SUBELEM_CONTENT_PROTECTION = 5,
|
||||
WFD_SUBELEM_COUPLED_SINK = 6,
|
||||
WFD_SUBELEM_EXT_CAPAB = 7,
|
||||
WFD_SUBELEM_LOCAL_IP_ADDRESS = 8,
|
||||
WFD_SUBELEM_SESSION_INFO = 9
|
||||
};
|
||||
|
||||
|
||||
#define OUI_BROADCOM 0x00904c /* Broadcom (Epigram) */
|
||||
|
||||
#define VENDOR_HT_CAPAB_OUI_TYPE 0x33 /* 00-90-4c:0x33 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue