I just notice that in ruleset_create_vm_chain{ ... if (!(defined($options->{dhcp}) && $options->{dhcp} == 0)) { ruleset_addrule($ruleset, $chain, "-p udp -m udp --dport 67:68 -j ACCEPT"); } .. } we create the rule in both direction, and with an ACCEPT. is it normal ? (we should never do an accept in tap-out chain)