Also read addresses from "ipv6-prefix-assignment" ifstatus table
[project/firewall3.git] / ipsets.c
index d6ff9bd..48aaa9c 100644 (file)
--- a/ipsets.c
+++ b/ipsets.c
@@ -296,7 +296,7 @@ create_ipset(struct fw3_ipset *ipset, struct fw3_state *state)
        if (ipset->external && *ipset->external)
                return;
 
-       info("Creating ipset %s", ipset->name);
+       info(" * Creating ipset %s", ipset->name);
 
        first = true;
        fw3_pr("create %s %s", ipset->name, methods[ipset->method]);
@@ -376,16 +376,14 @@ void
 fw3_destroy_ipsets(struct fw3_state *state, enum fw3_family family)
 {
        struct fw3_ipset *s, *tmp;
-       uint32_t family_mask = (1 << FW3_FAMILY_V4) | (1 << FW3_FAMILY_V6);
 
        list_for_each_entry_safe(s, tmp, &state->running_ipsets, running_list)
        {
-               if (hasbit(s->running_flags, family))
-                       delbit(s->flags, family);
+               del(s->flags, family, family);
 
-               if (!(s->flags & family_mask))
+               if (fw3_no_family(s->flags[family == FW3_FAMILY_V6]))
                {
-                       info("Deleting ipset %s", s->name);
+                       info(" * Deleting ipset %s", s->name);
 
                        fw3_pr("flush %s\n", s->name);
                        fw3_pr("destroy %s\n", s->name);