qcacld-3.0: Exchange CSID cap & GTK params

To support group NDP security, WiFi-HAL and firmware introduces
two new parameters (csid_cap and gtk_required) in NDP initiator
request, responder requestor and NDP indication event.

Host driver will retrieve the CSID capabilities and GTK parameter
and parse it to firmware in NDP Initiator and Responder request
TLV. Also, driver extract these parameters from NDP indication TLV
and will passes to Wifi-HAL in vendor event.

Change-Id: I4487559491754edafaccafa466512d6380b826b3
CRs-Fixed: 3583149
This commit is contained in:
Rahul Gusain
2023-04-20 16:25:13 +05:30
committed by Rahul Choudhary
parent 9295d3a374
commit fa7ef9dc94
2 changed files with 60 additions and 3 deletions

View File

@@ -367,6 +367,16 @@ struct nan_datapath_inf_delete_rsp {
uint32_t reason;
};
/**
* struct ndp_additional_params - NDP parameters
* @csid_cap: NAN Cipher Suite Capability field
* @gtk: GTK protection is required for the NDP
*/
struct ndp_additional_params {
uint32_t csid_cap;
uint32_t gtk;
};
/**
* struct nan_datapath_initiator_req - ndp initiator request params
* @vdev: pointer to vdev object
@@ -384,6 +394,7 @@ struct nan_datapath_inf_delete_rsp {
* @service_name: service name
* @is_ipv6_addr_present: indicates if following ipv6 address is valid
* @ipv6_addr: ipv6 address address used by ndp
* @ndp_add_params: NDP additional parameters
*/
struct nan_datapath_initiator_req {
struct wlan_objmgr_vdev *vdev;
@@ -401,6 +412,7 @@ struct nan_datapath_initiator_req {
struct ndp_service_name service_name;
bool is_ipv6_addr_present;
uint8_t ipv6_addr[QDF_IPV6_ADDR_SIZE];
struct ndp_additional_params ndp_add_params;
};
/**
@@ -438,6 +450,7 @@ struct nan_datapath_initiator_rsp {
* @port: port specified by for this NDP
* @is_protocol_present: indicates if following protocol is valid
* @protocol: protocol used by this NDP
* @ndp_add_params: NDP additional parameters
*/
struct nan_datapath_responder_req {
struct wlan_objmgr_vdev *vdev;
@@ -456,6 +469,7 @@ struct nan_datapath_responder_req {
uint16_t port;
bool is_protocol_present;
uint8_t protocol;
struct ndp_additional_params ndp_add_params;
};
/**
@@ -717,6 +731,7 @@ struct nan_datapath_confirm_event {
* @ipv6_addr: ipv6 address address used by ndp
* @is_service_id_present: indicates if service id is present
* @service_id: NDP service id
* @ndp_add_params: NDP additional parameters
*/
struct nan_datapath_indication_event {
struct wlan_objmgr_vdev *vdev;
@@ -734,6 +749,7 @@ struct nan_datapath_indication_event {
uint8_t ipv6_addr[QDF_IPV6_ADDR_SIZE];
bool is_service_id_present;
uint8_t service_id[NDP_SERVICE_ID_LEN];
struct ndp_additional_params ndp_add_params;
};
/**