qcacmn: Send anycast addresses for NS offload

Propagation from qcacld-2.0 to qcacld-3.0

Current implementation has support for IPv6 addresses of type
unicast for NS offload to firmware.

As part of this change add anycast addresses for NS offload.

CRs-Fixed: 954880
This commit is contained in:
Sravan Kumar Kairam
2016-07-26 17:59:59 +05:30
committed by qcabuildsw
parent 3c46e5dfb0
commit 80f7246bfb
2 changed files with 10 additions and 0 deletions

View File

@@ -3084,6 +3084,7 @@ struct wmi_dual_mac_config {
* @self_macaddr: self mac address
* @srcIPv6AddrValid: src ipv6 address valid flag
* @targetIPv6AddrValid: target ipv6 address valid flag
* @target_ipv6_addr_ac_type: target ipv6 address type
* @slotIdx: slot index
*/
struct ns_offload_req_params {
@@ -3093,6 +3094,7 @@ struct ns_offload_req_params {
struct qdf_mac_addr self_macaddr;
uint8_t srcIPv6AddrValid;
uint8_t targetIPv6AddrValid[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
uint8_t target_ipv6_addr_ac_type[WMI_MAC_NUM_TARGET_IPV6_NS_OFFLOAD_NA];
uint8_t slotIdx;
};
#endif /* WLAN_NS_OFFLOAD */

View File

@@ -9858,6 +9858,10 @@ QDF_STATUS send_enable_arp_ns_offload_cmd_tlv(wmi_unified_t wmi_handle,
A_MEMCPY(&ns_tuple->solicitation_ipaddr,
&param->nsOffloadInfo.
selfIPv6Addr[i], sizeof(WMI_IPV6_ADDR));
if (param->nsOffloadInfo.
target_ipv6_addr_ac_type[i])
ns_tuple->flags |=
WMI_NSOFF_FLAGS_IS_IPV6_ANYCAST;
WMI_LOGD("NS solicitedIp: %pI6, targetIp: %pI6",
&param->nsOffloadInfo.selfIPv6Addr[i],
&param->nsOffloadInfo.
@@ -9928,6 +9932,10 @@ QDF_STATUS send_enable_arp_ns_offload_cmd_tlv(wmi_unified_t wmi_handle,
A_MEMCPY(&ns_tuple->solicitation_ipaddr,
&param->nsOffloadInfo.selfIPv6Addr[i],
sizeof(WMI_IPV6_ADDR));
if (param->nsOffloadInfo.
target_ipv6_addr_ac_type[i])
ns_tuple->flags |=
WMI_NSOFF_FLAGS_IS_IPV6_ANYCAST;
WMI_LOGD("Index %d NS solicitedIp: %pI6, targetIp: %pI6", i,
&param->nsOffloadInfo.selfIPv6Addr[i],
&param->nsOffloadInfo.targetIPv6Addr[i]);