qcacmn: Cache ARP/NS offload request at wma layer
qcacld-2.0 to qcacmn propagation
As Current WMI interface need both the ARP/NS configuration
in single command. To support active offload host need to
cache the ARP/NS at wma layer so host can fill the other
request and configure down to firmware complete request
(ARP+NS).
Change-Id: Ie0a57d216379817ff0ae48f4f582c9108e8ecca1
CRs-Fixed: 1067683
diff --git a/wmi_unified_api.h b/wmi_unified_api.h
index 0e41248..a3d6d60 100644
--- a/wmi_unified_api.h
+++ b/wmi_unified_api.h
@@ -796,7 +796,9 @@
struct wmi_dual_mac_config *msg);
QDF_STATUS wmi_unified_enable_arp_ns_offload_cmd(void *wmi_hdl,
- struct host_offload_req_param *param, bool arp_only,
+ struct host_offload_req_param *arp_offload_req,
+ struct host_offload_req_param *ns_offload_req,
+ bool arp_only,
uint8_t vdev_id);
QDF_STATUS wmi_unified_set_led_flashing_cmd(void *wmi_hdl,
diff --git a/wmi_unified_priv.h b/wmi_unified_priv.h
index 1940531..2a4c9e9 100644
--- a/wmi_unified_priv.h
+++ b/wmi_unified_priv.h
@@ -660,7 +660,9 @@
struct wmi_dual_mac_config *msg);
QDF_STATUS (*send_enable_arp_ns_offload_cmd)(wmi_unified_t wmi_handle,
- struct host_offload_req_param *param, bool arp_only,
+ struct host_offload_req_param *arp_offload_req,
+ struct host_offload_req_param *ns_offload_req,
+ bool arp_only,
uint8_t vdev_id);
QDF_STATUS (*send_set_led_flashing_cmd)(wmi_unified_t wmi_handle,
diff --git a/wmi_unified_tlv.h b/wmi_unified_tlv.h
index b21b40a..5606315 100644
--- a/wmi_unified_tlv.h
+++ b/wmi_unified_tlv.h
@@ -511,8 +511,19 @@
QDF_STATUS send_soc_set_dual_mac_config_cmd_tlv(wmi_unified_t wmi_handle,
struct wmi_dual_mac_config *msg);
+static void fill_arp_offload_params_tlv(wmi_unified_t wmi_handle,
+ struct host_offload_req_param *offload_req, uint8_t **buf_ptr);
+
+static void fill_ns_offload_params_tlv(wmi_unified_t wmi_handle,
+ struct host_offload_req_param *offload_req, uint8_t **buf_ptr);
+
+static void fill_nsoffload_ext_tlv(wmi_unified_t wmi_handle,
+ struct host_offload_req_param *offload_req, uint8_t **buf_ptr);
+
QDF_STATUS send_enable_arp_ns_offload_cmd_tlv(wmi_unified_t wmi_handle,
- struct host_offload_req_param *param, bool arp_only,
+ struct host_offload_req_param *arp_offload_req,
+ struct host_offload_req_param *ns_offload_req,
+ bool arp_only,
uint8_t vdev_id);
QDF_STATUS send_set_led_flashing_cmd_tlv(wmi_unified_t wmi_handle,