summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/test/h4to6
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/test/h4to6')
-rw-r--r--contrib/ipfilter/test/h4to6135
1 files changed, 0 insertions, 135 deletions
diff --git a/contrib/ipfilter/test/h4to6 b/contrib/ipfilter/test/h4to6
deleted file mode 100644
index e31f7c4..0000000
--- a/contrib/ipfilter/test/h4to6
+++ /dev/null
@@ -1,135 +0,0 @@
-@P=();
-$line = 0;
-while (<>) {
- s/\=192.168.1.188/\=c0a8:0100::bc/g;
- s/\=192.168.1.188/\=c0a8:0100::bc/g;
- @F = split;
- if (/^#/) {
- @P[$nline++] = join(" ",@F);
- next;
- }
- $line = 0 if (/^\[/);
- if ($line == 1) {
- $len = hex($F[1]) - 20;
- $pr = hex($F[4]) & 0xff;
- $pr = 58 if ($pr == 1);
- $ttl = hex($F[4]) >> 8;
- &replaceip($_, $len, $pr, $ttl);
- $ipline = $nline;
- $err = 0;
- } elsif ($line == 2) {
- if ($pr == 58) {
- #
- # Map the ICMP type codes from IPv4 to IPv6
- # and update the checksum to compensate.
- #
- if ($F[0] =~ /^0800/) {
- $F[0] =~ s/^0800/8000/;
- $d = 0x7800;
- }
- if ($F[0] =~ /^0000/) {
- $F[0] =~ s/^0000/8100/;
- $d = 0x8100;
- }
- if ($F[0] =~ /^0304/) {
- $F[0] =~ s/^0304/0200/;
- $d = 0xfefc;
- $err = 1;
- }
- if ($F[0] =~ /^03/) {
- $F[0] =~ s/^03/01/;
- $d = 0xfe00;
- $err = 1;
- }
- if ($F[0] =~ /^0b/) {
- $F[0] =~ s/^0b/03/;
- $d = 0xf800;
- $err = 1;
- }
- if ($F[0] =~ /^0c/) {
- $F[0] =~ s/^0c/04/;
- $d = 0xf800;
- $err = 1;
- }
- $F[1] = sprintf "%04x", hex($F[1]) - $d;
- }
- @P[$nline++] = join(" ",@F);
- } elsif ($line == 3) {
- if ($pr == 58 && $err == 1 && $F[0] =~ /^45/) {
- local($l) = hex($F[1]) - 20;
- local($p) = hex($F[4]) & 0xff;
- $p = 58 if ($p == 1);
- local($t) = hex($F[4]) >> 8;
- &replaceip(join(" ", @F), $l, $p, $t);
- @H = split(/ /, $P[$ipline]);
- $H[2] += 20;
- $P[$ipline] = join(" ",@H);
- } else {
- @P[$nline++] = join(" ",@F);
- }
- } else {
- @P[$nline++] = join(" ",@F);
- }
- $line++;
-}
-
-for ($li = 0; $li < $nline; $li++) {
- print "$P[$li]\n";
-}
-
-exit(0);
-
-sub replaceip {
- local(@G) = split(/\s/,$_[0]);
- local($p) = "";
-
- $p = sprintf "6000 0000 %04x %02x%02x", $_[1], $_[2], $_[3];
- if ($G[6] =~ /^c0a8/) {
- $fmt = " %02x%02x %02x00 0000 0000 0000 0000 0000 00%02x";
- } else {
- if ($G[6] =~ /^0[4a]../) {
- $fmt = " 00%02x 00%02x 00%02x 0000 0000 0000 0000 00%02x";
- } else {
- $fmt = " 00%02x 0000 0000 0000 0000 00%02x 00%02x 00%02x";
- }
- if ($G[6] =~ /^0a/) {
- $G[6] =~ s/^0a/10/;
- }
- if ($G[6] =~ /0a$/) {
- $G[6] =~ s/0a$/10/;
- }
- if ($G[7] =~ /^0a/) {
- $G[7] =~ s/^0a/10/;
- }
- if ($G[7] =~ /0a$/) {
- $G[7] =~ s/0a$/10/;
- }
- }
- $p = $p.sprintf $fmt, hex($G[6]) >> 8, hex($G[6]) & 0xff,
- hex($G[7]) >> 8, hex($G[7]) & 0xff;
-
- if ($G[6] =~ /^c0a8/) {
- $fmt = " %02x%02x %02x00 0000 0000 0000 0000 0000 00%02x";
- } else {
- if ($G[8] =~ /^0[4a]../) {
- $fmt = " 00%02x 00%02x 00%02x 0000 0000 0000 0000 00%02x";
- } else {
- $fmt = " 00%02x 0000 0000 0000 0000 00%02x 00%02x 00%02x";
- }
- if ($G[8] =~ /^0a/) {
- $G[8] =~ s/^0a/10/;
- }
- if ($G[8] =~ /0a$/) {
- $G[8] =~ s/0a$/10/;
- }
- if ($G[9] =~ /^0a/) {
- $G[9] =~ s/^0a/10/;
- }
- if ($G[9] =~ /0a$/) {
- $G[9] =~ s/0a$/10/;
- }
- }
- $p = $p.sprintf $fmt, hex($G[8]) >> 8, hex($G[8]) & 0xff,
- hex($G[9]) >> 8, hex($G[9]) & 0xff;
- $P[$nline++] = $p;
-}
OpenPOWER on IntegriCloud