extern const struct fw3_option fw3_ipset_opts[];
-struct fw3_ipset * fw3_alloc_ipset(void);
-void fw3_load_ipsets(struct fw3_state *state, struct uci_package *p);
-void fw3_create_ipsets(struct fw3_state *state);
-void fw3_destroy_ipsets(struct fw3_state *state);
+void fw3_load_ipsets(struct fw3_state *state, struct uci_package *p, struct blob_attr *a);
+void fw3_create_ipsets(struct fw3_state *state, enum fw3_family family,
+ bool reload_set);
+void fw3_destroy_ipsets(struct fw3_state *state, enum fw3_family family,
+ bool reload_set);
struct fw3_ipset * fw3_lookup_ipset(struct fw3_state *state, const char *name);
bool fw3_check_ipset(struct fw3_ipset *set);
-#define fw3_free_ipset(ipset) \
- fw3_free_object(ipset, fw3_ipset_opts)
+void
+fw3_ipsets_update_run_state(enum fw3_family family, struct fw3_state *run_state,
+ struct fw3_state *cfg_state);
+static inline void fw3_free_ipset(struct fw3_ipset *ipset)
+{
+ list_del(&ipset->list);
+ fw3_free_object(ipset, fw3_ipset_opts);
+}
#ifndef SO_IP_SET