QM: Use absolute paths for iptables only for Android platforms

Add /system/bin path prefix to iptables/ip6tables only for Android
platforms while leaving the specific path away and using the PATH
environment variable on other platforms to find the binaries.

Signed-off-by: Shivani Baranwal <quic_shivbara@quicinc.com>
diff --git a/sta.c b/sta.c
index be765fa..2940757 100644
--- a/sta.c
+++ b/sta.c
@@ -3667,8 +3667,12 @@
 	len = sizeof(ip_cmd);
 
 	ret = snprintf(pos, len,
-		       "/system/bin/%s -t mangle -D OUTPUT -o %s",
+		       "%s -t mangle -D OUTPUT -o %s",
+#ifdef ANDROID
+		       ip_ver == IPV6 ? "/system/bin/ip6tables" : "/system/bin/iptables",
+#else /* ANDROID */
 		       ip_ver == IPV6 ? "ip6tables" : "iptables",
+#endif /* ANDROID */
 		       dut->station_ifname);
 	if (snprintf_error(len, ret)) {
 		sigma_dut_print(dut, DUT_MSG_INFO,
@@ -4006,8 +4010,12 @@
 	}
 
 	ret = snprintf(pos, len,
-		       "/system/bin/%s -t mangle -I OUTPUT %d -o %s",
+		       "%s -t mangle -I OUTPUT %d -o %s",
+#ifdef ANDROID
+		       ip_ver == IPV6 ? "/system/bin/ip6tables" : "/system/bin/iptables",
+#else /* ANDROID */
 		       ip_ver == IPV6 ? "ip6tables" : "iptables",
+#endif /* ANDROID */
 		       ip_ver == IPV6 ? ipv6_rule_num : ipv4_rule_num,
 		       dut->station_ifname);
 	if (snprintf_error(len, ret)) {
@@ -4123,10 +4131,17 @@
 	free_dscp_policy_table(dut);
 
 	if (dut->dscp_use_iptables) {
+#ifdef ANDROID
 		if (system("/system/bin/iptables -t mangle -F && /system/bin/iptables -t mangle -X") != 0 ||
-		    system("/system/bin/ip6tables -t mangle -F && /system/bin/iptables -t mangle -X") != 0)
+		    system("/system/bin/ip6tables -t mangle -F && /system/bin/ip6tables -t mangle -X") != 0)
 			sigma_dut_print(dut, DUT_MSG_ERROR,
 					"iptables: Failed to flush DSCP policy");
+#else /* ANDROID */
+		if (system("iptables -t mangle -F && iptables -t mangle -X") != 0 ||
+		    system("ip6tables -t mangle -F && ip6tables -t mangle -X") != 0)
+			sigma_dut_print(dut, DUT_MSG_ERROR,
+					"iptables: Failed to flush DSCP policy");
+#endif /* ANDROID */
 	} else {
 		if (system("nft flush ruleset") != 0)
 			sigma_dut_print(dut, DUT_MSG_ERROR,