#! /usr/bin/perl -w # # Copyright (c) 2000 Massachusetts Institute of Technology. # # make-udpcount.pl -- make an udpcount configuration # # ./make-udpcount.pl s d # options: s - network number of source (e.g. 2) # d - network number of destination (e.g. 3) my $rtrifs = [ # ethernet address of card on router [ "00:C0:95:E2:16:9C" ], # 1.0.0.1 [ "00:C0:95:E2:16:9D" ], # 2.0.0.1 [ "00:C0:95:E2:09:14" ], # 3.0.0.1 [ "00:C0:95:E2:09:15" ], # 4.0.0.1 [ "00:C0:95:E1:FC:D4" ], # 5.0.0.1 [ "00:C0:95:E1:FC:D5" ], # 6.0.0.1 [ "00:C0:95:E1:FC:D6" ], # 7.0.0.1 [ "00:C0:95:E1:FC:D7" ], # 8.0.0.1 ]; my $cltifs = [ # ethernet address of sender/receiver, interface on machine for tx/rx [ "00:A0:CC:55:E3:D0", "eth1" ], # 1.0.0.2 [ "00:00:C0:B4:68:EF", "eth0" ], # 2.0.0.2 [ "00:E0:29:05:E4:DA", "eth1" ], # 3.0.0.2 [ "00:00:C0:4F:71:EF", "eth1" ], # 4.0.0.2 [ "00:00:C0:61:67:EF", "eth1" ], # 5.0.0.2 [ "00:00:C0:CA:68:EF", "eth1" ], # 6.0.0.2 [ "00:E0:29:05:E2:D4", "eth1" ], # 7.0.0.2 [ "00:00:C0:8A:67:EF", "eth1" ], # 8.0.0.2 ]; if ($#ARGV != 1) { print "usage: make-udpcount.pl src dest\n"; print " where src and dest are network numbers between 1 and 8\n"; exit(); } my $s = $ARGV[0]; my $d = $ARGV[1]; if ($s < 1 || $s > 8 || $d < 1 || $d > 8) { print "usage: make-udpcount.pl src dest\n"; print " where src and dest are network numbers between 1 and 8\n"; exit(); } print "// Generated by make-udpcount.pl\n"; { print <[$d-1]->[0]); c0 :: Classifier(12/0806 20/0001, -); pd :: PollDevice($cltifs->[$d-1]->[1]); td :: ToDevice($cltifs->[$d-1]->[1]); out :: Queue(200) -> td; tol :: ToHost; pd -> [0]c0; c0[0] -> ar -> out; c0[1] -> Counter -> tol; ScheduleInfo(td 1, pd 1); EOF }