From e0801e6bd6cc1241afafea33ba8ef701fec2e5c5 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 17:45:37 +0200 Subject: Adding upstream version 5.5.17. Signed-off-by: Daniel Baumann --- make_ip_del_recovered.pl | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 make_ip_del_recovered.pl (limited to 'make_ip_del_recovered.pl') diff --git a/make_ip_del_recovered.pl b/make_ip_del_recovered.pl new file mode 100755 index 0000000..65e9112 --- /dev/null +++ b/make_ip_del_recovered.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl +# https://www.iana.org/assignments/ipv4-recovered-address-space/ipv4-recovered-address-space-2.csv + +use warnings; +use strict; +use autodie; + +use Text::CSV; +use Net::CIDR; +use Net::IP; + +my $csv = Text::CSV->new; + +open(my $in, '<', 'ipv4-recovered-address-space-2.csv'); +open(my $out, '>', 'ip_del_recovered.h'); + +while (my $row = $csv->getline($in)) { + next if $row->[0] eq 'Start address'; + next if $row->[5] ne 'ALLOCATED'; + + print $out '/* ' . $row->[0] . ' - ' . $row->[1] . " */\n"; + my @networks = + map { Net::IP->new($_) } + Net::CIDR::range2cidr($row->[0] . '-' . $row->[1]); + print $out sprintf(qq|{ %sUL, %sUL, "%s" },\n|, + $_->intip, + ((~(0xffffffff >> $_->prefixlen)) & 0xffffffff), + $row->[4] + ) foreach @networks; +} + +close($in); +close($out); + -- cgit v1.2.3