STRING_SAVE_COPY(cnt->name, cnt_name);
+#if 0
+ /* ========================================================
+ * NOTE:-
+ * Below parsing for tethering case is not in use
+ * stc-manager needs to ignore this for NFACCT_TETH_COUNTER
+ * this is disbaled for future use.
+ * =======================================================*/
+
//LCOV_EXCL_START
if (cnt->intend == NFACCT_TETH_COUNTER) {
char ifname_buf[MAX_IFACE_LENGTH];
return true;
}
//LCOV_EXCL_STOP
+#endif
io_part = strtok_r(name, "_", &save_ptr);
if (io_part != NULL)
iptables_rule.ifname = g_strdup(rule->ifname);
iptables_rule.target = g_strdup(get_iptables_jump(rule->jump));
- /* In case of tehering use chain 'STC_TETHER' */
- if (rule->intend == NFACCT_TETH_COUNTER)
+ /* In case of tehering rules use chain 'STC_TETHER' */
+ if (rule->intend == NFACCT_TETH_COUNTER ||
+ rule->intend == NFACCT_TETH_ALLOW ||
+ rule->intend == NFACCT_TETH_BLOCK)
iptables_rule.chain = g_strdup(STC_TETHER_CHAIN);
else
iptables_rule.chain = g_strdup(get_iptables_chain(rule->iotype));
/* cgroup extention on FORWARD chain are not allowed
* remove classid info in case of tethering rules */
- if (rule->intend == NFACCT_TETH_COUNTER) {
+ if (rule->intend == NFACCT_TETH_COUNTER ||
+ rule->intend == NFACCT_TETH_ALLOW ||
+ rule->intend == NFACCT_TETH_BLOCK) {
classid = rule->classid;
rule->classid = 0;
}
ret = exec_iptables_cmd(rule);
/* restore the classid info in case of tethering rule */
- if (rule->intend == NFACCT_TETH_COUNTER)
+ if (rule->intend == NFACCT_TETH_COUNTER ||
+ rule->intend == NFACCT_TETH_ALLOW ||
+ rule->intend == NFACCT_TETH_BLOCK)
rule->classid = classid;
ret_value_msg_if(ret != STC_ERROR_NONE, STC_ERROR_FAIL,
/* cgroup extention on FORWARD chain are not allowed
* remove classid info in case of tethering rules */
- if (rule->intend == NFACCT_TETH_COUNTER) {
+ if (rule->intend == NFACCT_TETH_COUNTER ||
+ rule->intend == NFACCT_TETH_ALLOW ||
+ rule->intend == NFACCT_TETH_BLOCK) {
classid = rule->classid;
rule->classid = 0;
}
ret = exec_iptables_cmd(rule);
/* restore the classid info in case of tethering rule */
- if (rule->intend == NFACCT_TETH_COUNTER)
+ if (rule->intend == NFACCT_TETH_COUNTER ||
+ rule->intend == NFACCT_TETH_ALLOW ||
+ rule->intend == NFACCT_TETH_BLOCK)
rule->classid = classid;
ret_value_msg_if(ret != STC_ERROR_NONE, STC_ERROR_FAIL,
STRING_SAVE_COPY(counter->ifname, iftype_name);
}
- if (counter->intend == NFACCT_WARN)
+ if (counter->intend == NFACCT_WARN ||
+ counter->intend == NFACCT_TETH_WARN)
warn_symbol = 'w';
- else if (counter->intend == NFACCT_BLOCK)
+ else if (counter->intend == NFACCT_BLOCK ||
+ counter->intend == NFACCT_TETH_BLOCK)
warn_symbol = 'r';
- else if (counter->intend == NFACCT_ALLOW)
+ else if (counter->intend == NFACCT_ALLOW ||
+ counter->intend == NFACCT_TETH_ALLOW)
warn_symbol = 'a';
+ else if (counter->intend == NFACCT_TETH_COUNTER)
+ warn_symbol = 't';
snprintf(counter->name, NFACCT_NAME_MAX, "%c%d_%d_%d_%s",
warn_symbol, counter->iotype, counter->iftype,
counter->classid, counter->ifname);