Merge "Wifi-Hal: Add support for NAN Data Path security"
diff --git a/qcwcn/wifi_hal/nan.cpp b/qcwcn/wifi_hal/nan.cpp
index 4836705..f3a7457 100644
--- a/qcwcn/wifi_hal/nan.cpp
+++ b/qcwcn/wifi_hal/nan.cpp
@@ -845,6 +845,16 @@
/* TBD Qos Info */
nanCommand->attr_end(nlCfgQos);
}
+ if (msg->cipher_type != NAN_CIPHER_SUITE_SHARED_KEY_NONE) {
+ if (nanCommand->put_u32(QCA_WLAN_VENDOR_ATTR_NDP_CSID,
+ msg->cipher_type))
+ goto cleanup;
+ }
+ if (msg->pmk_len == NAN_PMK_INFO_LEN) {
+ if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PMK,
+ (char *)msg->pmk, msg->pmk_len))
+ goto cleanup;
+ }
nanCommand->attr_end(nlData);
ret = nanCommand->requestEvent();
@@ -926,6 +936,16 @@
/* TBD Qos Info */
nanCommand->attr_end(nlCfgQos);
}
+ if (msg->cipher_type != NAN_CIPHER_SUITE_SHARED_KEY_NONE) {
+ if (nanCommand->put_u32(QCA_WLAN_VENDOR_ATTR_NDP_CSID,
+ msg->cipher_type))
+ goto cleanup;
+ }
+ if (msg->pmk_len == NAN_PMK_INFO_LEN) {
+ if (nanCommand->put_bytes(QCA_WLAN_VENDOR_ATTR_NDP_PMK,
+ (char *)msg->pmk, msg->pmk_len))
+ goto cleanup;
+ }
nanCommand->attr_end(nlData);
ret = nanCommand->requestEvent();
diff --git a/qcwcn/wifi_hal/vendor_definitions.h b/qcwcn/wifi_hal/vendor_definitions.h
index e4b228a..ac8afcd 100644
--- a/qcwcn/wifi_hal/vendor_definitions.h
+++ b/qcwcn/wifi_hal/vendor_definitions.h
@@ -360,6 +360,10 @@
QCA_WLAN_VENDOR_ATTR_NDP_DRV_RETURN_VALUE,
/* Unsigned 32-bit value for Channel setup configuration */
QCA_WLAN_VENDOR_ATTR_NDP_CHANNEL_CONFIG,
+ /* Unsigned 32-bit value for Cipher Suite Shared Key Type */
+ QCA_WLAN_VENDOR_ATTR_NDP_CSID,
+ /* Array of u8: len = NAN_PMK_INFO_LEN */
+ QCA_WLAN_VENDOR_ATTR_NDP_PMK,
/* KEEP LAST */
QCA_WLAN_VENDOR_ATTR_NDP_AFTER_LAST,