split compile to compile_iptables_filter

compile just read configs file and will call compile_iptables_filter for iptables and ip6tables

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
move $pve_std_chains to $pve_std_chains->{$ipversion}

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
cleanup generate_std_chains: don't overwrite global variable $pve_std_chains

Instead, pass $ipversion and use local var $std_chains.
parse_rules src && dst ipversion

check the ipversion of src and dst in rules

(fixme : parse ip in range)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
rename pve-fw-v4addr-spec to pve-fw-addr-spec

Because we allow ipv4 and ipv6 addresses now.
fix error message
parse_address_list: make sure we only have one type of addresses (ipv4 or ipv6)
parse_address_list: improve type detection
verify_rule: detected mixed ipv4/ipv6 addresses
skip vms rules generation if rule ipversion don't match iptables version

we skip ipv6 rules for iptables
we skip ipv4 rules for ip6tables

if rule ipversion is undef, we apply to both iptables and ip6tables

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
$ipversion is interger, so use '!=' instead of string 'ne'