Return to bird.conf CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / elwix / config / etc / uboot |
1.2 ! misho 1: /* ! 2: * This is an example configuration file. ! 3: */ ! 4: ! 5: # Yes, even shell-like comments work... ! 6: ! 7: # Configure logging ! 8: #log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug }; ! 9: #log stderr all; ! 10: #log "tmp" all; ! 11: ! 12: # Override router ID ! 13: #router id 198.51.100.1; ! 14: ! 15: # You can define your own symbols... ! 16: #define xyzzy = (120+10); ! 17: #define '1a-a1' = (30+40); ! 18: ! 19: # Define a route filter... ! 20: #filter test_filter { ! 21: # if net ~ 10.0.0.0/16 then accept; ! 22: # else reject; ! 23: #} ! 24: ! 25: #filter sink { reject; } ! 26: #filter okay { accept; } ! 27: ! 28: #include "filters.conf"; ! 29: ! 30: # Define another routing table ! 31: #table testable; ! 32: ! 33: # Turn on global debugging of all protocols ! 34: #debug protocols all; ! 35: ! 36: # Turn on internal watchdog ! 37: #watchdog warning 5 s; ! 38: #watchdog timeout 30 s; ! 39: ! 40: # The direct protocol automatically generates device routes to ! 41: # all network interfaces. Can exist in as many instances as you wish ! 42: # if you want to populate multiple routing tables with device routes. ! 43: #protocol direct { ! 44: # interface "-eth*", "*"; # Restrict network interfaces it works with ! 45: #} ! 46: ! 47: # This pseudo-protocol performs synchronization between BIRD's routing ! 48: # tables and the kernel. If your kernel supports multiple routing tables ! 49: # (as Linux 2.2.x does), you can run multiple instances of the kernel ! 50: # protocol and synchronize different kernel tables with different BIRD tables. ! 51: protocol kernel { ! 52: # learn; # Learn all alien routes from the kernel ! 53: persist; # Don't remove routes on bird shutdown ! 54: scan time 20; # Scan kernel routing table every 20 seconds ! 55: # import none; # Default is import all ! 56: export all; # Default is export none ! 57: # kernel table 5; # Kernel table to synchronize with (default: main) ! 58: } ! 59: ! 60: # This pseudo-protocol watches all interface up/down events. ! 61: protocol device { ! 62: scan time 10; # Scan interfaces every 10 seconds ! 63: } ! 64: ! 65: # Static routes (again, there can be multiple instances, so that you ! 66: # can disable/enable various groups of static routes on the fly). ! 67: protocol static { ! 68: # disabled; # Disable by default ! 69: # table testable; # Connect to a non-default table ! 70: # preference 1000; # Default preference of routes ! 71: # debug { states, routes, filters, interfaces, events, packets }; ! 72: # debug all; ! 73: # route 0.0.0.0/0 via 198.51.100.13; ! 74: # route 198.51.100.0/25 unreachable; ! 75: # route 10.0.0.0/8 unreachable; ! 76: # route 10.1.1.0:255.255.255.0 via 198.51.100.3; ! 77: # route 10.1.2.0:255.255.255.0 via 198.51.100.3; ! 78: # route 10.1.3.0:255.255.255.0 via 198.51.100.4; ! 79: # route 10.2.0.0/24 via "arc0"; ! 80: } ! 81: ! 82: # Pipe protocol connects two routing tables... Beware of loops. ! 83: #protocol pipe { ! 84: # peer table testable; ! 85: # Define what routes do we export to this protocol / import from it. ! 86: # import all; # default is all ! 87: # export all; # default is none ! 88: # import none; # If you wish to disable imports ! 89: # import filter test_filter; # Use named filter ! 90: # import where source = RTS_DEVICE; # Use explicit filter ! 91: #} ! 92: ! 93: # RIP aka Rest In Pieces... ! 94: #protocol rip MyRIP { # You can also use an explicit name ! 95: # preference xyzzy; ! 96: # debug all; ! 97: # port 1520; ! 98: # period 7; ! 99: # infinity 16; ! 100: # garbage time 60; ! 101: # interface "*" { mode broadcast; }; ! 102: # honor neighbor; # To whom do we agree to send the routing table ! 103: # honor always; ! 104: # honor never; ! 105: # passwords { ! 106: # password "nazdar"; ! 107: # }; ! 108: # authentication none; ! 109: # import filter { print "importing"; accept; }; ! 110: # export filter { print "exporting"; accept; }; ! 111: #} ! 112: ! 113: #protocol ospf MyOSPF { ! 114: # tick 2; ! 115: # rfc1583compat yes; ! 116: # area 0.0.0.0 { ! 117: # stub no; ! 118: # interface "eth*" { ! 119: # hello 9; ! 120: # retransmit 6; ! 121: # cost 10; ! 122: # transmit delay 5; ! 123: # dead count 5; ! 124: # wait 50; ! 125: # type broadcast; ! 126: # authentication simple; ! 127: # password "pass"; ! 128: # }; ! 129: # interface "arc0" { ! 130: # rx buffer large; ! 131: # type nonbroadcast; ! 132: # poll 14; ! 133: # dead 75; ! 134: # neighbors { ! 135: # 10.1.1.2 eligible; ! 136: # 10.1.1.4; ! 137: # }; ! 138: # strict nonbroadcast yes; ! 139: # }; ! 140: # interface "xxx0" { ! 141: # passwords { ! 142: # password "abc" { ! 143: # id 1; ! 144: # generate to "22-04-2003 11:00:06"; ! 145: # accept to "17-01-2004 12:01:05"; ! 146: # }; ! 147: # password "def" { ! 148: # id 2; ! 149: # generate from "22-04-2003 11:00:07"; ! 150: # accept from "17-01-2003 12:01:05"; ! 151: # }; ! 152: # }; ! 153: # authentication cryptographic; ! 154: # }; ! 155: # }; ! 156: # area 20 { ! 157: # stub 1; ! 158: # interface "ppp1" { ! 159: # hello 8; ! 160: # authentication none; ! 161: # }; ! 162: # interface "fr*"; ! 163: # virtual link 192.168.0.1 { ! 164: # password "sdsdffsdfg"; ! 165: # authentication cryptographic; ! 166: # }; ! 167: # }; ! 168: #} ! 169: ! 170: ! 171: #protocol bgp { ! 172: # disabled; ! 173: # description "My BGP uplink"; ! 174: # local as 65000; ! 175: # neighbor 198.51.100.130 as 64496; ! 176: # multihop; ! 177: # hold time 240; ! 178: # startup hold time 240; ! 179: # connect retry time 120; ! 180: # keepalive time 80; # defaults to hold time / 3 ! 181: # start delay time 5; # How long do we wait before initial connect ! 182: # error wait time 60, 300;# Minimum and maximum time we wait after an error (when consecutive ! 183: # # errors occur, we increase the delay exponentially ... ! 184: # error forget time 300; # ... until this timeout expires) ! 185: # disable after error; # Disable the protocol automatically when an error occurs ! 186: # next hop self; # Disable next hop processing and always advertise our local address as nexthop ! 187: # path metric 1; # Prefer routes with shorter paths (like Cisco does) ! 188: # default bgp_med 0; # MED value we use for comparison when none is defined ! 189: # default bgp_local_pref 0; # The same for local preference ! 190: # source address 198.51.100.14; # What local address we use for the TCP connection ! 191: # password "secret"; # Password used for MD5 authentication ! 192: # rr client; # I am a route reflector and the neighor is my client ! 193: # rr cluster id 1.0.0.1; # Use this value for cluster id instead of my router id ! 194: # export where source=RTS_STATIC; ! 195: # export filter { ! 196: # if source = RTS_STATIC then { ! 197: # bgp_community = -empty-; bgp_community = add(bgp_community,(65000,5678)); ! 198: # bgp_origin = 0; ! 199: # bgp_community = -empty-; bgp_community.add((65000,5678)); ! 200: # if (65000,64501) ~ bgp_community then ! 201: # bgp_community.add((0, 1)); ! 202: # if bgp_path ~ [= 65000 =] then ! 203: # bgp_path.prepend(65000); ! 204: # accept; ! 205: # } ! 206: # reject; ! 207: # }; ! 208: #} ! 209: # ! 210: # Template usage example ! 211: #template bgp rr_client { ! 212: # disabled; ! 213: # local as 65000; ! 214: # multihop; ! 215: # rr client; ! 216: # rr cluster id 1.0.0.1; ! 217: #} ! 218: # ! 219: #protocol bgp rr_abcd from rr_client { ! 220: # neighbor 10.1.4.7 as 65000; ! 221: #}