diff --git a/wmi/inc/wmi_unified_param.h b/wmi/inc/wmi_unified_param.h index 6e54165f7f28..b846298f0f38 100644 --- a/wmi/inc/wmi_unified_param.h +++ b/wmi/inc/wmi_unified_param.h @@ -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 */ diff --git a/wmi/src/wmi_unified_tlv.c b/wmi/src/wmi_unified_tlv.c index eabe80fc23fd..f709315bda70 100644 --- a/wmi/src/wmi_unified_tlv.c +++ b/wmi/src/wmi_unified_tlv.c @@ -9858,6 +9858,10 @@ QDF_STATUS send_enable_arp_ns_offload_cmd_tlv(wmi_unified_t wmi_handle, A_MEMCPY(&ns_tuple->solicitation_ipaddr, ¶m->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", ¶m->nsOffloadInfo.selfIPv6Addr[i], ¶m->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, ¶m->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, ¶m->nsOffloadInfo.selfIPv6Addr[i], ¶m->nsOffloadInfo.targetIPv6Addr[i]);