Fixed IPv4 and IPv6 monitoring issue 03/169703/1
authorhyunuktak <hyunuk.tak@samsung.com>
Thu, 8 Feb 2018 09:24:24 +0000 (18:24 +0900)
committerhyunuktak <hyunuk.tak@samsung.com>
Thu, 8 Feb 2018 09:24:27 +0000 (18:24 +0900)
Change-Id: I3fa0c4c550e21cbd87b5ef0e3f57de2487cf92c5
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
packaging/stc-manager.spec
src/helper/helper-nfacct-rule.c

index 98a493a..a41f2c0 100644 (file)
@@ -1,6 +1,6 @@
 Name:       stc-manager
 Summary:    STC(Smart Traffic Control) manager
-Version:    0.0.50
+Version:    0.0.51
 Release:    0
 Group:      Network & Connectivity/Other
 License:    Apache-2.0
index 5944967..87d2270 100755 (executable)
@@ -584,10 +584,9 @@ static stc_error_e produce_iface_rule(nfacct_rule_s *rule)
        char *jump_cmd = get_iptables_jump(rule->jump);
        char nfacct_buf[sizeof(NFACCT_NAME_MOD) +
                3*MAX_DEC_SIZE(int) + 4];
+       uint32_t classid = rule->classid;
        stc_error_e ret;
 
-       rule->classid = 0;
-
        if (rule->iotype & NFACCT_COUNTER_IN) {
                /* income part */
                rule->iotype = NFACCT_COUNTER_IN;
@@ -613,6 +612,9 @@ static stc_error_e produce_iface_rule(nfacct_rule_s *rule)
                ret_value_msg_if(ret > sizeof(nfacct_buf) || ret < 0,
                                 STC_ERROR_FAIL, "Not enought buffer");
 
+               classid = rule->classid;
+               rule->classid = 0;
+
                ret = exec_iptables_cmd(rule);
                ret_value_msg_if(ret != STC_ERROR_NONE, STC_ERROR_FAIL,
                                 "Can't set conditional block for ingress"
@@ -647,6 +649,8 @@ static stc_error_e produce_iface_rule(nfacct_rule_s *rule)
                //LCOV_EXCL_STOP
        }
 
+       rule->classid = classid;
+
        if (rule->iotype & NFACCT_COUNTER_OUT) {
                /* outcome part */
                rule->iotype = NFACCT_COUNTER_OUT;
@@ -672,6 +676,9 @@ static stc_error_e produce_iface_rule(nfacct_rule_s *rule)
                ret_value_msg_if(ret > sizeof(nfacct_buf) || ret < 0,
                                 STC_ERROR_FAIL, "Not enough buffer");
 
+               classid = rule->classid;
+               rule->classid = 0;
+
                ret = exec_iptables_cmd(rule);
                ret_value_msg_if(ret != STC_ERROR_NONE, STC_ERROR_FAIL,
                                 "Can't set conditional block for "