if (table != FW3_TABLE_FILTER)
return;
- if (!fw3_is_family(forward, family) ||
- (forward->_src && !fw3_is_family(forward->_src, family)) ||
- (forward->_dest && !fw3_is_family(forward->_dest, family)))
+ if (!fw3_is_family(forward, family))
return;
s = forward->_src ? forward->_src->name : "*";
else
info(" * Forward %s->%s", s, d);
+ if (!fw3_is_family(forward->_src, family) ||
+ !fw3_is_family(forward->_dest, family))
+ {
+ info(" ! Skipping due to different family of zone");
+ return;
+ }
+
print_chain(forward);
fw3_format_comment("forwarding ", s, "->", d);
print_target(forward);
static struct fw3_option zone_opts[] = {
FW3_OPT("name", string, zone, name),
+ FW3_OPT("family", family, zone, family),
FW3_LIST("network", device, zone, networks),
FW3_LIST("device", device, zone, devices),