- # remove duplicates
- my $nethash = {};
- foreach my $entry (@$options) {
- next if $entry->{errors}; # skip entries with errors
- eval {
- my ($cidr, $ipversion);
- if ($entry->{cidr} =~ m/^${ip_alias_pattern}$/) {
- ($cidr, $ipversion) = resolve_alias($clusterfw_conf, $fw_conf, $entry->{cidr});
- } else {
- ($cidr, $ipversion) = parse_ip_or_cidr($entry->{cidr});
- }
- #http://backreference.org/2013/03/01/ipv6-address-normalization/
- if ($ipversion == 6) {
- my $ipv6 = inet_pton(AF_INET6, lc($cidr));
- $cidr = inet_ntop(AF_INET6, $ipv6);
- $cidr =~ s|/128$||;
- } else {
- $cidr =~ s|/32$||;
- }