Adds support for setting the policy counters iptables -P INPUT -J DROP -c 10 20 Regards Henrik
Index: iptables/iptables.c =================================================================== --- iptables.orig/iptables.c +++ iptables/iptables.c @@ -165,7 +165,7 @@ static char commands_v_options[NUMBER_OF /*ZERO*/ {'x','x','x','x','x',' ','x','x','x','x','x','x'}, /*NEW_CHAIN*/ {'x','x','x','x','x',' ','x','x','x','x','x','x'}, /*DEL_CHAIN*/ {'x','x','x','x','x',' ','x','x','x','x','x','x'}, -/*SET_POLICY*/{'x','x','x','x','x',' ','x','x','x','x','x','x'}, +/*SET_POLICY*/{'x','x','x','x','x',' ','x','x','x','x','x',' '}, /*RENAME*/ {'x','x','x','x','x',' ','x','x','x','x','x','x'} }; @@ -1842,7 +1842,7 @@ int do_command(int argc, char *argv[], c ret = iptc_rename_chain(chain, newname, handle); break; case CMD_SET_POLICY: - ret = iptc_set_policy(chain, policy, NULL, handle); + ret = iptc_set_policy(chain, policy, options&OPT_COUNTERS ? &fw.counters : NULL, handle); break; default: /* We should never reach this... */ Index: iptables/ip6tables.c =================================================================== --- iptables.orig/ip6tables.c +++ iptables/ip6tables.c @@ -165,7 +165,7 @@ static char commands_v_options[NUMBER_OF /*ZERO*/ {'x','x','x','x','x',' ','x','x','x','x','x'}, /*NEW_CHAIN*/ {'x','x','x','x','x',' ','x','x','x','x','x'}, /*DEL_CHAIN*/ {'x','x','x','x','x',' ','x','x','x','x','x'}, -/*SET_POLICY*/{'x','x','x','x','x',' ','x','x','x','x','x'}, +/*SET_POLICY*/{'x','x','x','x','x',' ','x','x','x','x',' '}, /*RENAME*/ {'x','x','x','x','x',' ','x','x','x','x','x'} }; @@ -1802,7 +1802,7 @@ int do_command6(int argc, char *argv[], ret = ip6tc_rename_chain(chain, newname, handle); break; case CMD_SET_POLICY: - ret = ip6tc_set_policy(chain, policy, NULL, handle); + ret = ip6tc_set_policy(chain, policy, options&OPT_COUNTERS ? &fw.counters : NULL, handle); break; default: /* We should never reach this... */