- my $ipv6 = inet_pton(AF_INET6, lc($cidr));
- $cidr = inet_ntop(AF_INET6, $ipv6);
+ # ip_compress_address takes an address only, no CIDR
+ my ($addr, $prefix_len) = ($cidr =~ m@^([^/]*)(/.*)?$@);
+ $cidr = lc(Net::IP::ip_compress_address($addr, 6));
+ $cidr .= $prefix_len if defined($prefix_len);