diff options
author | Swarn Singh <quic_swarnkum@quicinc.com> | 2023-06-02 22:25:51 +0530 |
---|---|---|
committer | Gabriel Biren <gbiren@google.com> | 2023-06-06 21:31:40 +0000 |
commit | f8f78c0319364712759a6f0b07667170ecfaf848 (patch) | |
tree | 50b14ebe550ab650125d84a900226762cef711f9 | |
parent | 87a03d5c72b2e005021ea212d024ccacf706428c (diff) | |
download | wpa_supplicant_8-f8f78c0319364712759a6f0b07667170ecfaf848.tar.gz |
SCS: Don't convert source and dst IP addresses for adding scs policies
Don't convert source and destination IP address to Inet format,
while adding QOS Scs policies.
As AIDL interface already sending source and destination IP addresses
into required format.
Bug: 286041846
Test: Manual test - send an IPv4 and an IPv6 address
from the framework. Check that the supplicant
data structures have the correct values.
Change-Id: I3002ac6a7e7bb14ceaf25e316a6fa6d02283f307
-rw-r--r-- | wpa_supplicant/aidl/sta_iface.cpp | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/wpa_supplicant/aidl/sta_iface.cpp b/wpa_supplicant/aidl/sta_iface.cpp index 238a0924..4620538a 100644 --- a/wpa_supplicant/aidl/sta_iface.cpp +++ b/wpa_supplicant/aidl/sta_iface.cpp @@ -2089,8 +2089,6 @@ static int set_type4_frame_classifier(QosPolicyScsData qos_policy_data, struct type4_params *param) { u8 classifier_mask = 0; - int ret; - char addr[INET6_ADDRSTRLEN]; uint32_t inMask = static_cast<uint32_t>(qos_policy_data.classifierParams.classifierParamMask); if (qos_policy_data.classifierParams.ipVersion == @@ -2114,24 +2112,14 @@ static int set_type4_frame_classifier(QosPolicyScsData qos_policy_data, wpa_printf(MSG_ERROR, "Invalid source IP"); return -1; } - os_memcpy(addr, qos_policy_data.classifierParams.srcIp.data(), 4); - ret = inet_pton(AF_INET, addr, - ¶m->ip_params.v4.src_ip); + os_memcpy(¶m->ip_params.v4.src_ip, qos_policy_data.classifierParams.srcIp.data(), 4); } else { if (qos_policy_data.classifierParams.srcIp.size() != sizeof(param->ip_params.v6.src_ip)) { wpa_printf(MSG_ERROR, "Invalid source IP"); return -1; } - os_memcpy(addr, qos_policy_data.classifierParams.srcIp.data(), 16); - ret = inet_pton(AF_INET6, addr, - ¶m->ip_params.v6.src_ip); - } - if (ret != 1) { - wpa_printf(MSG_ERROR, - "Error converting src IP address to binary ret=%d", - ret); - return -1; + os_memcpy(¶m->ip_params.v6.src_ip, qos_policy_data.classifierParams.srcIp.data(), 16); } /* Classifier Mask - bit 1 = Source IP Address */ @@ -2145,25 +2133,14 @@ static int set_type4_frame_classifier(QosPolicyScsData qos_policy_data, wpa_printf(MSG_ERROR, "Invalid destination IP"); return -1; } - os_memcpy(addr, qos_policy_data.classifierParams.dstIp.data(), 4); - ret = inet_pton(AF_INET, addr, - ¶m->ip_params.v4.dst_ip); + os_memcpy(¶m->ip_params.v4.dst_ip, qos_policy_data.classifierParams.dstIp.data(), 4); } else { if (qos_policy_data.classifierParams.dstIp.size() != sizeof(param->ip_params.v6.dst_ip)) { wpa_printf(MSG_ERROR, "Invalid destination IP"); return -1; } - os_memcpy(addr, qos_policy_data.classifierParams.dstIp.data(), 16); - ret = inet_pton(AF_INET6, addr, - ¶m->ip_params.v6.dst_ip); - } - - if (ret != 1) { - wpa_printf(MSG_ERROR, - "Error converting dst IP address to binary ret=%d", - ret); - return -1; + os_memcpy(¶m->ip_params.v6.dst_ip, qos_policy_data.classifierParams.dstIp.data(), 16); } /* Classifier Mask - bit 2 = Destination IP Address */ |