#!/usr/bin/perl
# $Id: addrtkey,v 1.6 2001/02/10 20:37:43 stes Exp $

$IPMENU=$ENV{'IPMENU'};
$IPLOG=$ENV{'IPLOG'};
require "$IPMENU/ipmenu.lib";

$name=$ARGV[0];
$db='/etc/iproute2/rt_tables';

%rtkeys=rtkeys();

sub doiprule {
  my $cmd;
  my $pri;
  my ($key,$name) = @_;
  $pri=$key * 7;
  $cmd="ip rule add fwmark $key priority $pri table $name";
  system("$cmd");
  system("echo \"$cmd\"  >> $IPLOG");
}

$key=1;
foreach $rtkey (keys(%rtkeys)) {
  if ($name eq $rtkeys{$rtkey}) {
    doiprule($rtkey,$name);
    exit(0); 
  }
  $key++ if ($rtkey == $key);
}

if ($key < 255 and $key > 0) {
  system("echo $key $name >> $db");
  doiprule($key,$name);
}

