aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSwarn Singh <quic_swarnkum@quicinc.com>2023-06-02 22:25:51 +0530
committerGabriel Biren <gbiren@google.com>2023-06-06 21:31:40 +0000
commitf8f78c0319364712759a6f0b07667170ecfaf848 (patch)
tree50b14ebe550ab650125d84a900226762cef711f9
parent87a03d5c72b2e005021ea212d024ccacf706428c (diff)
downloadwpa_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.cpp31
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,
- &param->ip_params.v4.src_ip);
+ os_memcpy(&param->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,
- &param->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(&param->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,
- &param->ip_params.v4.dst_ip);
+ os_memcpy(&param->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,
- &param->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(&param->ip_params.v6.dst_ip, qos_policy_data.classifierParams.dstIp.data(), 16);
}
/* Classifier Mask - bit 2 = Destination IP Address */