Home | History | Annotate | Download | only in contrib
      1 #! /usr/pkg/bin/perl
      2 
      3 die "insufficient arguments" if (scalar(@ARGV) < 2);
      4 $src = $ARGV[0];
      5 $dst = $ARGV[1];
      6 $mode = 'transport';
      7 if (scalar(@ARGV) > 2) {
      8 	$mode = $ARGV[2];
      9 }
     10 
     11 open(OUT, "|setkey -c");
     12 if ($mode eq 'transport') {
     13 	print STDERR "install esp transport mode: $src -> $dst\n";
     14 	print OUT "spdadd $src $dst any -P out ipsec esp/transport//require;\n";
     15 	print OUT "spdadd $dst $src any -P in ipsec esp/transport//require;\n";
     16 } elsif ($mode eq 'delete') {
     17 	print STDERR "delete policy: $src -> $dst\n";
     18 	print OUT "spddelete $src $dst any -P out;\n";
     19 	print OUT "spddelete $dst $src any -P in;\n";
     20 }
     21 close(OUT);
     22