/* * This is an example configuration file. */ # Yet another comment router id 62.168.0.1; define xyzzy = 120+10; function callme (int arg1; int arg2;) { print "Function callme called arguments " arg1 " and " arg2; case arg1 { 2: { print "dva"; print "jeste jednou dva"; } [ 3 .. 5 ]: print "tri az pet"; else: print "neco jineho"; } } function startup () int i; prefix px; { print "Bird filter language: selftesting..."; i = 4; i = 1230 + i; print "Testing arithmetics: 1234 = " i; if i = 4 then { print "*** FAIL: if 0"; quitbird; } else print "test 1 passed"; if 1234 = i then print "test 2 passed"; else { print "*** FAIL: if 1 else"; } if 1 <= 1 then print "test 3 passed"; else { print "*** FAIL: test 3"; } if 1234 < 1234 then { print "*** FAIL: test 4"; quitbird; } else print "test 4 passed"; print "Testing IP addresses: 1.2.3.4 = " 1.2.3.4; print "Testing sets of ints = " [ 1, 2, 3 ]; print "Testing sets of ints = " [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]; print "Testing sets of IPs = " [ 1.2.3.4, 2.3.4.5, 3.4.5.6 ]; print "Sets: true = " 1 ~ [ 1, 2, 3 ]; print " false = " 1 ~ [ 2, 3, 4 ]; print "a..b: true = " 5 ~ [ 4 .. 7 ]; print " false = " 5 ~ [ 2, 3, 4, 7..11 ]; print "IPsets: true = " 1.2.3.4 ~ [ 1.2.3.3..1.2.3.5 ]; print " false = " 1.2.3.4 ~ [ 1.2.3.3, 1.2.3.5 ]; print "Testing prefixes: 1.2.3.4/18 = " 1.2.3.4/18; print "Testing pairs: (1,2) = " (1,2); print "Testing functions..."; callme ( 1, 2, ); callme ( 2, 2, ); callme ( 3, 2, ); callme ( 4, 2, ); callme ( 7, 2, ); print "done"; quitbird; # print "*** FAIL: this is unreachable"; } filter testf int j; { print "Heya, filtering route to " rta.net.ip " prefixlen " rta.net.len; print "This route was from " rta.from; accept; } protocol rip MyRIP_test { preference xyzzy; debug all; port 1520; period 5; garbagetime 30; interface "*" { mode broadcast; }; export filter testf; honour neighbour; passwords { password "ahoj" from 0 to 10; password "nazdar" from 10; } authentication md5; } protocol device { # disabled; # interface "eth*", "ppp*"; } #protocol kernel { # disabled; # learn; # Learn all routes from the kernel # scan time 10; # Scan kernel tables every 10 seconds #} protocol static { # disabled; route 0.0.0.0/0 via 62.168.0.13; route 62.168.0.0/25 reject; # route 10.0.0.0/8 reject; # route 10.1.1.0:255.255.255.0 via 62.168.0.3; # route 10.1.2.0:255.255.255.0 via 62.168.0.3; # route 10.1.3.0:255.255.255.0 via 62.168.0.4; # route 10.2.0.0/24 via "arc0"; }