Annotation of embedaddon/bird/doc/bird.conf.example, revision 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>