Annotation of embedaddon/bird/doc/bird.conf.example, revision 1.1.1.1

1.1       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: #}

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>