+#define C(f, tbl, def, fmt) \
+ { FW3_FAMILY_##f, FW3_TABLE_##tbl, FW3_FLAG_##def, fmt }
+
+static const struct fw3_chain_spec default_chains[] = {
+ C(ANY, FILTER, UNSPEC, "delegate_input"),
+ C(ANY, FILTER, UNSPEC, "delegate_output"),
+ C(ANY, FILTER, UNSPEC, "delegate_forward"),
+ C(ANY, FILTER, UNSPEC, "reject"),
+ C(ANY, FILTER, CUSTOM_CHAINS, "input_rule"),
+ C(ANY, FILTER, CUSTOM_CHAINS, "output_rule"),
+ C(ANY, FILTER, CUSTOM_CHAINS, "forwarding_rule"),
+ C(ANY, FILTER, SYN_FLOOD, "syn_flood"),
+
+ C(V4, NAT, UNSPEC, "delegate_prerouting"),
+ C(V4, NAT, UNSPEC, "delegate_postrouting"),
+ C(V4, NAT, CUSTOM_CHAINS, "prerouting_rule"),
+ C(V4, NAT, CUSTOM_CHAINS, "postrouting_rule"),
+
+ C(ANY, MANGLE, UNSPEC, "mssfix"),
+ C(ANY, MANGLE, UNSPEC, "fwmark"),
+
+ C(ANY, RAW, UNSPEC, "notrack"),
+
+ { }
+};
+
+const struct fw3_option fw3_flag_opts[] = {