+static struct fw3_rule*
+alloc_rule(struct fw3_state *state)
+{
+ struct fw3_rule *rule = calloc(1, sizeof(*rule));
+
+ if (rule) {
+ INIT_LIST_HEAD(&rule->proto);
+
+ INIT_LIST_HEAD(&rule->ip_src);
+ INIT_LIST_HEAD(&rule->mac_src);
+ INIT_LIST_HEAD(&rule->port_src);
+
+ INIT_LIST_HEAD(&rule->ip_dest);
+ INIT_LIST_HEAD(&rule->port_dest);
+
+ INIT_LIST_HEAD(&rule->icmp_type);
+
+ list_add_tail(&rule->list, &state->rules);
+ rule->enabled = true;
+ }
+
+ return rule;
+}
+