# @(#)61 1.6 src/tcpip/etc/gated.conf, tcprouting, tcpip720 12/6/93 14:23:11 # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # tcpip720 src/tcpip/etc/gated.conf 1.6 # # Licensed Materials - Property of IBM # # COPYRIGHT International Business Machines Corp. 1985,1989 # All Rights Reserved # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # IBM_PROLOG_END_TAG # # COMPONENT_NAME: TCPIP gated.conf # # FUNCTIONS: # # ORIGINS: 27 # # (C) COPYRIGHT International Business Machines Corp. 1985, 1989 # All Rights Reserved # Licensed Materials - Property of IBM # # US Government Users Restricted Rights - Use, duplication or # disclosure restricted by GSA ADP Schedule Contract with IBM Corp. # # # gated configuration file # ############################################################################## # # How to configure this file for your system: # # Statement classes. # There are eight classes of statements. The first two may # be specified in the configuration file in any order. # # directives # These statements are immediately acted upon by the # parser. They are used to specify included files and # the directory in which the reside. Unlike other # statements which terminate with a semi-colon (;), # directive statements terminate with a newline # character. # trace # These statements control tracing options. # # The six remaining classes must be specified in order: # # options # These statements allow specification of some global # options. # interface # These statements specify interface options. # definition # These statements options, the autonomous system and # martian networks. # protocol # These statements enable or disable protocols and set # protocol options. # route # These statements define static routes. # control # These statements define routes that are imported from # routing peers and routes that are exported to these # peers. # # Statements within a class may be listed in any order. # ############################################################################## # # 1) Directive Statements # Set optional directive statements. # # %directory "<path_name>" # # Sets the current directory to <path_name>. This is the # path that gated uses to look for included files that do # not begin with "/". # # %include "filename" # # Causes the specified file to be parsed completely before resuming # this file. Nesting up to 10 levels is supported. # ############################################################################## # # 2) Trace Statements # Set optional trace statements. # # tracefile ["filename" [replace]] [size <size> [k|m] files <files>] ; # # Specifies the file to contain tracing output. If a filename is # specified, trace information is appended to this file unless "replace" # specified. # If specified, <size> and <files> cause the trace file to be limited # to <size>, with <files> files kept (including the active file). The # backup file names are created by appending a period and a number to # the trace file name, starting with ".0". The minimum size that can # be specified is 10k, the minimum number of files that can be specified # is 2. The default is not to rotate log files. # # traceoptions <traceoption> [<traceoption> [ ... ]] [except <traceoption> [<traceoption> [ ... ]]]; # # Where "traceoption" is: # # all, general, internal, external, nostamp, kernel, mark, task, # timer, parse, route, kernel, bgp, egp, rip, hello, icmp, snmp, # protocol, or update. # ############################################################################## # # 3) Options Statements # options <option_list> ; # Sets gated options: # # noinstall Do not change kernel's routing table. # Useful for verifying configuration # files. # # gendefault # BGP and EGP neighbors should cause the # internal generation of a default route # when up. This route will not be # installed in the kernel's routing table, # but may be announced by other protocols. # Announcement is controlled by # referencing the special protocol # "default". # # nosend Do not send any packets. This allows # running gated on a live network to test # protocol interactions without actually # participating in the routing protocols. # The packet traces in the gated log can # be examined to verify that gated is # functioning properly. This is most # useful for RIP and HELLO and possibly # the SMUX SNMP interface. This does not # yet apply to BGP packets. # # noresolv Do not try to resolv symbolic names into # IP addresses by using the host/network # tables or Domain Name System. This is # intended for systems where a lack of # routing information could cause a DNS # lookup to hang. # # syslog Controls the amount of data gated logs # via syslog on systems where setlogmask() # is supported. The log_levels and other # terminology are as defined in the # setlogmask() man page. The default is # equivalent to "syslog upto info". # ############################################################################## # # 4) Interface Statements # interfaces { # options [strictifs] [scaninterval <time>] ; # interface <interface_list> <interface_options> ; # define <address> [broadcast <broadaddr>|pointopoint # <lcladdr>] [netmask <netmask>] [multicast] ; # } ; # # options Sets some global options related to interfaces. # # Options are: # # strictifs Indicates that it is a fatal error to # reference an interface in the # configuration file that is not listed in # a define statement or not present when # gated is started. Without this option a # warning message will be issued and gated # will continue. # # scaninterval <time> # Specifies how often gated scans the # kernel interface list for changes. The # default is every 15 seconds on most # systems, 60 seconds on systems that pass # interface status changes through the # routing socket (i.e. BSD 4.4). Note # that gated will also scan the interface # list on receipt of a SIGUSR2. # # define Defines interfaces that may not be present when # gated is started. Gated considers it an error to # reference a non-existent interface in the config # file. This clause allows specification of that # interface so it can be referenced in the config # file. # # Definition keywords are: # # broadcast <broad_addr> # Defines the interface as broadcast # capable (i.e. Ethernet and Token Ring) # and specifies the broadcast address. # # pointopoint <local_addr> # Defines the interface as a point to # point interface (i.e. SLIP and PPP) and # specifies the address on the local side. # For this type of interface the # <interface_addr> specifies the address # of the remote host. # # An interface not defined as broadcast or # pointopoint is assumed to be non-broadcast # multiaccess (NBMA), such as an X.25 network. # # netmask <subnetmask> # Specifies the non-standard subnet mask # to be used on this interface. Note that # this currently ignored on pointopoint # interfaces. # # multicast Specifies the interface is multicast # capable. # # interface Sets interface options on the specified # interfaces. An interface list is "all" or a list # of interface names (see warning about interface # names), domain names, or numeric addresses. # # # # Options are: # # preference <pref> # Sets the preference for routes to this # interface when it is up, defaults to 0. # # down preference <pref> # Sets the preference for routes to this # interface when gated believes it to be down # due to lack of received routing information, # defaults to 120. # # passive # Prevents gated from changing the preference # of the route to this interface if it is # believed to be down due to lack of received # routing information. # # simplex # Defines an interface as unable to hear it's # own broadcast packets. Currently defining an # interface as simplex is functionally # equivalent to defining it as passive. # # reject # Specifies that the address loopback # interfaces which match these criteria will be # used as the local address when installing # reject routes in the kernel. Should only # used with systems based on BSD 4.3 Tahoe or # earlier which have installed a # reject/blackhole pseudo interface. # # blackhole # Specifies that the address loopback # interfaces which match these criteria will be # used as the local address when installing # blackhole routes in the kernel. Should only # used with systems based on BSD 4.3 Tahoe or # earlier which have installed a # reject/blackhole pseudo interface. # ############################################################################## # # 5) Definition Statements # autonomoussystem <autonomous system> ; # Sets the autonomous system of this router to be # <autonomous system>. This option is required if # BGP or EGP are in use. # # routerid <host> ; # Sets the router identifier for use by the BGP and # OSPF protocols. The default is the address of the # first interface encountered by gated. The address # of a non-POINTOPOINT interface is prefered over # the local address of a POINTOPOINT interface and # an address on a loopback interface that is not the # loopback address (127.0.0.1) is most perfered. # # martians { # <martian_list> # } ; # # Defines a list of martian addresses about which # all routing information is ignored. The # <martian_list> is a semi-colon separated list of # symbolic or numeric hosts with optional masks. # See dest_mask. Also, the `allow' parameter may be # specified to explicitly allow a subset of a range # that was disallowed. # ############################################################################## # # 7) Protocol Statements # Enables or disables use of a protocol and controls protocol # options. These may be specified in any order. # # For all protocols, "preference" controls the choice of # routes learned via this protocol or from this autonomous # system in relation to routes learned from other # protocols/autonomous systems. The default metric used when # propagating routes learned from other protocols is specified # with "defaultmetric" which itself defaults to the highest # # valid metric for this protocol, for many protocols this # signifies a lack of reachability. # # For distance vector IGPs with no explicit connections or # authentication (RIP and HELLO) and redirects (ICMP), the # "trustedgateways" clause supplies a list of gateways # providing valid routing information; routing packets from # other gateways are ignored. This defaults to all gateways # on the attached networks. # # Routing packets may be sent not only to the remote end of # point-to-point links and the broadcast address of # broadcast-capable interfaces, but also to specific gateways # if they are listed in a "sourcegateways" clause and "yes" or # "on" is specified. If "nobroadcast" is specified, routing # updates will be sent only to gateways listed in the # "sourcegateways" clause, and not at all to the broadcast # address. Disabling the transmission and reception of # routing packets for a particular protocol may be specified # with the "interface" clause. An "interface" clause which # disables sending or receiving protocol packets may be # overridden for specific peers using the "trustedgateways" # and "sourcegateways" clauses. # # For exterior protocols (BGP, EGP), the autonomous system # advertised to the peer is specified by the global # "autonomoussystem" clause unless overridden by the "asout" # parameter. The incoming autonomous system number is not # verified unless "peeras" is specified. Specifying # "metricout" fixes the outgoing metric for all routes # propagated to this peer. If the peer does not share a # network, "interface" can be used to specify which interface # address to use when communicating with this peer and # "gateway" can be used to specify the next hop to use for all # routes learned from this peer. An internal default is # generated when routing information is learned from a peer # unless the "nogendefault" parameter is specified. # # Any protocol can have a "traceoptions" clause, which enables # tracing for a particular protocol, group or peer. The # allowable protocol-specific options are: all, general, # internal, external, route, update, task, timer, protocol, or # kernel. # # rip yes|no|on|off [ { # broadcast ; # nobroadcast ; # nocheckzero; # preference <preference> ; # defaultmetric <metric> ; # interface <interface_list> [noripin] [noripout] # [metricin <metric>] [metricout <metric>] # [version 1]|[version 2 [multicast|broadcast]]; # ... # trustedgateways <gateway_list> ; # sourcegateways <gateway_list> ; # traceoptions <traceoptions> ; # } ] ; # # If the rip clause is not specified the default is "rip # on". "Nobroadcast" specifies that RIP packets will # only be sent to gateways listed in the "sourcegateways" # clause, if there are any. If "yes" or "on" is # specified, RIP will assume "nobroadcast" if there is # only one interface and "broadcast" if there is more # than one. "Broadcast" specifies that RIP packets will # always be generated. "Nocheckzero" specifies that RIP # should not make sure that the reserved fields in RIP # packets are zero. # # Note that using "broadcast" with only one # interface is useful only when propagating static # routes or routes learned from another protocol. # This will cause data packets to travel across the # same network twice, which may be tolerable in # certain configurations. # # The default metricout is zero, the default metricin is # the kernel interface metric plus 1 (the default RIP hop # count). # # If the version is specified as or defaults to 1, RIP # version 2 packets will never be sent except in response # to a v2 POLL packet. If the version is specified as 2, # RIP version 2 packets will be sent to the RIP multicast # address if possible, or to the broadcast addresss, # unless the method is explicitly specified. # # The default metric is 16; the default preference is # 100. # # hello yes|no|on|off [ { # broadcast ; # nobroadcast ; # preference <preference> ; # defaultmetric <metric> ; # interface <interface_list> [nohelloin] [nohelloout] # [metricin <metric>] [metricout <metric>]; # ... # trustedgateways <gateway_list> ; # sourcegateways <gateway_list> ; # traceoptions <traceoptions> ; # } ] ; # # If "yes" or "on" is specified, HELLO will assume # "nobroadcast" if there is only one interface and # "broadcast" if there is more than one. If the HELLO # clause is not specified the default is "hello off". # "Broadcast" specifies that HELLO packets will be # generated. "Nobroadcast" specifies that HELLO packets # will only be sent to gateways listed in the # "sourcegateways" clause, if there are any. # # Note that using "broadcast" with only one # interface is useful only when propagating static # routes or routes learned from another protocol. # This will cause data packets to travel across the # same network twice, which may be tolerable in # certain configurations. # # The default metricout is zero, the default metricin is # a translation of the kernel interface metric into a # hello metric plus 100 (the default HELLO hop count). # # The default metric is 30000; the default preference is # 90. # # ospf yes|no|on|off [ { # [ defaults { # preference <preference> ; # cost <cost> ; # tag [<tag> | as [<as_tag>]] ; # type <1|2> ; # } ] ; # [exportlimit <routes> ;] # [exportinterval <time> ;] # [traceoptions <traceoptions> ;] # [monitorauthkey <authkey> ;] # [area <area> { # authtype <0|1|none|simple> ; # stub [cost <cost>]; # networks { # network [mask <mask>] ; # } ; # stubhosts { # <host> cost <cost> ; # } ; # interface <interface> [cost <cost>] { # [enable|disable] ; # retransmitinterval <time> ; # transitdelay <time> ; # priority <priority> ; # hellointerval <time> ; # routerdeadinterval <time> ; # authkey <auth_key> ; # } ; # interface <interface> nonbroadcast [cost <cost>] { # pollinterval <time> ; # routers { # <gateway> [eligible] ; # ... # } ; # [enable|disable] ; # retransmitinterval <time> ; # transitdelay <time> ; # priority <priority> ; # hellointerval <time> ; # routerdeadinterval <time> ; # authkey <auth_key> ; # } ; # } ; ] # [ backbone { # authtype <0|1|none|simple> ; # networks { # network [mask <mask>] ; # } ; # subhosts { # <host> cost <cost> ; # } ; # interface <interface> [cost <cost>] { # [enable|disable] ; # retransmitinterval <time> ; # transitdelay <time> ; # priority <priority> ; # hellointerval <time> ; # routerdeadinterval <time> ; # authkey <auth_key> ; # } ; # . . . # interface <interface> nonbroadcast [cost <cost>] { # pollinterval <time> ; # routers { # <gateway> [eligible] ; # ... # } ; # [enable|disable] ; # retransmitinterval <time> ; # transitdelay <time> ; # priority <priority> ; # hellointerval <time> ; # routerdeadinterval <time> ; # authkey <auth_key> ; # } ; # . . . # virtuallink neighborid <host> transitarea <area> { # [enable|disable] ; # retransmitinterval <time> ; # transitdelay <time> ; # priority <priority> ; # hellointerval <time> ; # routerdeadinterval <time> ; # authkey <auth_key> ; # } ; # . . . # } ; ] # } ] ; # # interface # An interface is specified with an address, a name, # a wildcard name (name without any number), or # "all". Multiple interface clauses may be # specified with different parameters, the # parameters used are accumlated from the interface # clauses. If a parameter is specified more than # once the instance with the most specific interface # reference is used. The order of precedence is # address, name, wildcard name, "all". # # cost A number between 0 and 65535 specifying an OSPF # internal cost. # # tag The OSPF tag (an unsigned 31-bit number) to be # placed on all routes exported by gated into OSPF. # # as_tag # The OSPF-BGP tag (an unsigned 12-bit number) to be # placed on all routes export by gated into OSPF. # When "tag as [<as_tag>]" is used, tag fields are # automatically generated and the as_tag field is # assigned if specified. # # metric # A number between 0 and 16777215 specifying an OSPF # external (ASE) cost. # # area A dotted quad or a number between 1 and # 4294967295. Area 0 is always referred to as the # "backbone". # # auth_key # One to eight decimal digits separated by periods, # a one to eight byte hexadecimal string preceded by # "0x", or a one to eight character string in double # quotes. # # priority # A number between 0 and 255 specifying the priority # of becoming the designated router on this # interface. # # OSPF inter and intra area are always imported into the # gated routing table with a preference of 10. It would # be a violation of the protocol to do otherwise so it is # not possible to override this. OSPF Autonomous System # External (ASE) routes are imported with a preference of # 150. This default may be changed with the preference # keyword in the defaults section. ASE routes are # imported at a rate of 100 ASEs every 1 second, these # parameters can be tuned with the "exportlimit" and # "exportinterval" parameters. # # Gated routes are exported to OSPF as ASEs with a # default cost of 0 and a type of 1. By default, the tag # is calculated from the AS path of the route being # exported (tag as). These may all be changed in the # defaults section. # # OSPF areas may be specified in any order, but the # "backbone" area must be specified last. # # Reconfiguration (SIGHUP) is currently disabled when # OSPF is enabled. This will hopefully be fixed in a # future release. # # egp yes|no|on|off [ { # [preference <preference> ;] # [defaultmetric <metric> ;] # [packetsize <maxpacketsize> ;] # [traceoptions <traceoptions> ;] # [group [peeras <autonomous system>] # [localas <autonomous system>] # [maxup <number>] # [preference <preference>] # { # neighbor <host> # [metricout <metric>] # [nogendefault] # [importdefault] # [exportdefault] # [gateway <gateway>] # [lcladdr <local_address>] # [sourcenet <network>] # [minhello <min_hello>] # [minpoll <min_poll>] # [traceoptions <traceoptions>] { # ; # ... # } ; # ...] # } ] ; # # "Packetsize" specifies the size, in bytes, of the # largest EGP packet that will be accepted or sent. A # "group" lists a group of EGP peers in one autonomous # system. "Maxup" specifies the maximum number of peers # that will be maintained in the Up state. # "Importdefault" and "exportdefault" tell gated to # import or export the default route (0.0.0.0) in updates # exchanged with an EGP neighbor. If not specified, the # the default network is ignored when exchanging EGP # updates. "Sourcenet" specifies the network to query in # EGP Poll packets, this is normally the shared network. # The minimum EGP hello and poll intervals acceptable may # be specified with the "minhello" and "minpoll" # arguments, respectively. These are both specified as a # time in seconds, minutes:seconds or # hours:minutes:seconds. Any number of "group" clauses # may be specified containing any number of "neighbor" # clauses. Any parameters from the "neighbor" clause may # be specified on the "group" clause to provide defaults # for the group. # # The "local_address" is used to set the address the # local address to be used when there is a choice of # interfaces. If not specified it defaults to whichever # interface is shared with the neighbor. If a network is # not shared with the neighbor, "gateway" may be used to # specify the next-hop gateway to use when installing # routes learned from this neighbor. In this case the # default interface is the one shared with the specified # gateway. # # The default metric is 255; the default preference is # 200. # # bgp yes|no|on|off [ { # [preference <preference> ;] # [defaultmetric <metric> ;] # [traceoptions <traceoptions> ;] # [group type external|internal|igp|test peeras <peeras> # [metricout <metric>] # [localas <localas>] # [nogendefault] # [gateway <gateway>] # [preference <preference>] # [lcladdr <local_address>] # [holdtime <time>] # [traceoptions <traceoptions>] # [version <version>] # [passive] # [importdefault] # [exportdefault] # [sendbuffer <bufsize>] # [recvbuffer <bufsize>] # [spoolbuffer <bufsize>] # [keepall] # { # [allow { dest_mask ... } ;] # [peer <host> # [metricout <metric>] # [localas <localas>] # [nogendefault] # [gateway <gateway>] # [preference <preference>] # [lcladdr <local_address>] # [holdtime <time>] # [traceoptions <traceoptions>] # [version <version>] # [passive] # [importdefault] # [exportdefault] # [sendbuffer <bufsize>] # [recvbuffer <bufsize>] # [spoolbuffer <bufsize>] # [keepall] # ;] # ... # } ; # ....] # } ] ; # # BGP peers are assigned to groups based on the type and # peeras, it is not possible to have two groups with the # same type and peeras. Peer specifies the address of # each BGP peer. Group options provide the defaults for # all peers within that group. # # "Peeras" is the autonomous system expected from a peer. # "Metricout" is the default metric to use when sending # to this peer. "Localas" specifies the autonomous # system advertised to this peer, the default is that # which has been set globally. "Nogendefault" specifies # that this peer should not cause the automatic default # to be generated. # # The "local_address" specifies the address to be used on # the local end of the TCP connection with the peer. For # "external" peers the local address must be on an # interface which is shared with the peer (or for a non- # local peer's configured next-hop gateway when the # "gateway" option is used to specify this) and a session # with the peer will be opened only when an interface # with the appropriate local address through which the # peer (gateway) address is directly reachable is # operating. For other types of peers a peer session # will be maintained when any interface with the # specified local address is operating. In either case # incoming connections will only be recognized as # matching a configured peer if they are addressed to the # configured local address. # # "Holdtime" specifies the BGP holdtime to use with this # peer. Traceoptions specify tracing options for this # peer (and are not yet implemented). Version specifies # the version of the BGP protocol to use with this peer. # If not specified, the highest supported version is used # first and version negotiation is attempted. "Passive" # specifies that active opens to this peer should not be # attempted. "Importdefault" and "exportdefault" control # whether the default network (0.0.0.0) can be exchanged # with this peer. "Keepall" is used to retain routes # learned from a peer that contain one of our autonomous # system numbers in their path. # # "Sendbuffer" and "Recvbuffer" control the amount of # buffering asked of the kernel, the default is to # configure the maximum supported, up to 65535 bytes. # "Spoolbuffer" is used to indicate that BGP should # buffer data for peers when the kernel queues are full, # the default is to break the connection. These options # are normally not needed on properly functioning # systems.. # # If a metric is not specified, the default is not to # send a metric. The default preference is 170, the # default holdtime is 180 and the default version is 3. # # redirect yes|no|on|off [ { # preference <preference> ; # interface <interface_list> [noredirects] ; # trustedgateways <gateway_list> ; # traceoptions <traceoptions> ; # } ] ; # # Controls whether gated makes routing table changes # based on ICMP redirects when not functioning as a # router. When functioning as a router (i.e. any # interior routing protocols (RIP, HELLO, OSPF) are # participating in routing on any interface, ICMP # redirects are disabled. When ICMP redirects are # disabled, gated must actively remove the effects of # redirects from the kernel as the kernel always # processes ICMP redirects. # # The default preference is 30. # # snmp yes|no|on|off [ { # preference <preference> ; # traceoptions <traceoptions> ; # port <port> ; # } ] ; # # Controls whether gated tries to contact the SMUX SNMP # daemon to register supported variables. The default is # "on". The default preference is 50. The default port # is 199 (SMUX). # ############################################################################## # 8) Route/Static Statements # Static routes are specified with "static" clauses. # static { # <dest_mask> gateway <gateway> [<gateway2> [<gateway3> [...]]] # [interface <interface_list>] # [preference <preference>] # [retain] [reject] [blackhole] [noinstall] ; # ... # <dest_mask> interface <interface> [preference # <preference>] [retain] [reject] [blackhole] [noinstall] ; # ... # } ; # # Any number of "static" statements may be specified, # each containing any number of static route definitions. # The first form defines a static route through one or # more gateways. If multiple gateways are specified, # they are limited by the number of multipath # destinations supported (on Unix this is almost always # one). Only gateways on interfaces that are configured # and up are used. # # The second defines a static interface route which is # used for primitive support of multiple networks on one # interface. # # The interface list on the first form restricts static # routes to a specific set of interfaces. # # "Retain" causes the route to be retained in the kernel # after gated is shut down. "Reject" causes all packets # to this route to be rejected. "Blackhole" causes all # packets to this route to be silently discarded. # "Reject" and "blackhole" are not supported by all # systems. "Noinstall" is used to prevent this route # from being installed in the kernel # # The preference for static routes defaults to 60. # ############################################################################## # # 9) Control Statements # Importation of routes from routing protocol peers and # exportation of routes to routing protocol peers are # controlled by "import" and "export" clauses. # # import proto bgp|egp as <autonomous system> restrict ; # # import proto bgp|egp as <autonomous system> # [preference <preference>] { # <import_list> # } ; # # import proto bgp aspath <aspath_spec> restrict ; # # import proto bgp aspath <aspath_spec> # [preference <preference>] { # <import_list> # } ; # # import proto rip|hello|redirect restrict ; # # import proto rip|hello|redirect # [preference <preference>] { # <import_list> # } ; # # import proto rip|hello|redirect interface <interface_list> restrict ; # # import proto rip|hello|redirect interface <interface_list> # [preference <preference>] { # <import_list> # } ; # # import proto rip|hello|redirect gateway <gateway_list> restrict ; # # import proto rip|hello|redirect gateway <gateway_list> # [preference <preference>] { # <import_list> # } ; # # import proto ospfase [tag <ospf_tag>] restrict ; # # import proto ospfase [tag <ospf_tag>] # [preference <preference>] [{ # <import_list> # }] ; # # If an OSPF type is specified, only routes of that # type will be considered for import, otherwise # either type will be considered. If an ospf_tag # specification is given, only routes matching that # tag specification will be considered, otherwise # any tag will be considered. An OSPF tag # specification may is a decimal, hexidecimal or # dotted quad number. # # If more than one import statement relevant to a # protocol is specified, they are processed most # specific to least specific (i.e. for RIP and # HELLO, gateway, interface and protocol), then in # the order specified in the config file. # # import_list # An import_list consists of zero or more # destinations (with optional mask). One of two # parameters may be specified, "restrict" to prevent # a set of destinations from being imported or a # specific preference for this set of destinations. # # <dest_mask> [[restrict] | [preference <preference>]] ; # # # Note that the contents of an import_list are # sorted internally so that entries with the most # specific masks are examined first. The order in # which dest_mask entries are specified does not # matter. # # If no import list is specified, all routes will be # accepted. If an import list is specified, the # import list is scanned for a match. If no match # is found, the route is discarded. Rephrased, a # "all restrict" entry is assumed in an import list. # # export proto bgp|egp as <autonomous system> restrict ; # # export proto bgp|egp as <autonomous system> # [metric <metric>] { # <export_list> # } ; # # export proto rip|hello restrict ; # # export proto rip|hello [metric <metric>] { # <export_list> # } ; # # export proto rip|hello interface <interface_list> restrict ; # # export proto rip|hello interface <interface_list> # [metric <metric>] { # <export_list> # } ; # # export proto rip|hello gateway <gateway_list> restrict ; # # export proto rip|hello gateway <gateway_list> # [metric <metric>] { # <export_list> # } ; # # export proto ospfase [type 1|2] [tag <ospf_tag>] restrict ; # # export proto ospfase [type 1|2] [tag <ospf_tag>] # [cost <ospf_cost>] { # <export_list> # } ; # # export_list # The export list specifies exportation based on the # origin of a route to a destination: # # proto bgp|egp as <autonomous system> # [restrict] | [metric <metric>] [ { # <announce_list> # } ] ; # # proto rip|hello|direct|static|default # [restrict] | [metric <metric>] [ { # <announce_list> # } ] ; # # proto rip|hello|direct|static|default interface <interface_list> # [restrict] | [metric <metric>] [ { # <announce_list> # } ] ; # # proto rip|hello gateway <gateway_list> # [restrict] | [metric<metric>] [ { # <announce_list> # } ] ; # # proto ospf [restrict] | [metric <metric>] [ { # <announce_list> ; # } ] ; # # proto ospfase [restrict | metric <metric>]] [ { # <announce_list> ; # } ] ; # # proto <proto> aspath <aspath_spec> # [restrict] | [metric <metric>] [ { # <announce_list> # } ] ; # # proto <proto> tag <tag> # [restrict] | [metric <metric>] [ { # <announce_list> # } ] ; # # If a tag is specified, only routes with that tag # will be considered, otherwise any tag will be # considered. An OSPF tag on an export statement # may be a decimal, hexidecimal, or "AS" to generate # a tag based on the AS path of route being # announced. An OSPF tag on an export list is just # an 31 bit number that is matched against the tag # present (if any) on that route. # # If more than one export statement relevant to a # protocol is specified, they are processed most # specific to least specific (i.e. for RIP and # HELLO, gateway, interface and protocol), then in # the order specified in the config file. # # By default interface routes are exported to all # protocols. RIP and HELLO also export their own # routes. An export specification with just a # restrict will prevent these defaults from being # exported. Note that it is not possible to change # the metric RIP and HELLO use for their own routes; # any attempt to override it will be silently # ignored. # # Any protocol may be specified for import lists # refering to aspaths and tags. AS paths are most # meaningful with BGP and OSPF ASE routes, but are # generated for all routes. Tags are currently only # meaningful for OSPF ASE routes. # # announce_list # An announce_list consists of zero or more # destinations (with optional mask). One of two # parameters may be specified, "restrict" to prevent # a set of destinations from being exported or a # specific metric for this set of destinations. # # <dest_mask> [[restrict] | [metric <metric>]] ; # # # Note that the contents of an announce_list are sorted # internally so that entries with the most specific masks # are examined first. The order in which dest_mask # entries are specified does not matter. # # If no announce_list is specified, all destinations # are announced. If an announce list is specified, # an "all restict" is assumed. Therefore, an empty # announce list is the equivalent of "all restrict". # # Note that to announce routes which specify a next # hop of the loopback interface (i.e. static and # internally generated default routes) via RIP or # HELLO it is necessary to specify the metric at # some level in the propagate clause. Just setting # a default metric for RIP or HELLO is not # sufficient. # # aspath_spec # An AS path specification is used to match one or # more AS paths. # # aspath <regexp> origin [igp|egp|incomplete|any] # # where the regexp is a regular expression over the # set of AS numbers as defined in RFC-1164 section 4.2. # ############################################################################## # # Sample setups. # ############################################################################## # # Simple RIP quiet # This configuration runs RIP in quiet mode, it only listens to # packets, no matter how many interfaces are configured. # It traces all trace output to a file called /var/tmp/rip.quiet.trace. # The tracefile options allow the creation of 4 files to rotate trace # information. Each of these trace files will grow to about 50K bytes # before rotating to the next trace file. The trace files will be called, # /var/tmp/rip.quite.trace, /var/tmp/rip.quite.trace.0, # /var/tmp/rip.quite.trace.1, and /var/tmp/rip.quite.trace.2. # # traceoptions all ; # # tracefile "/var/tmp/rip.quiet.trace" replace size 50k files 4 ; # # rip yes { # nobroadcast ; # } ; # ############################################################################## # # Simple RIP supplier # Run as a RIP supplier, do not supply RIP packets to # tr0, and only listen to RIP packets from 192.100.110.1. # # rip yes { # broadcast ; # interface tr0 noripout ; # trustedgateways 192.100.110.1 ; # } ; # ############################################################################## # # Simple EGP # This host is in autonomous system 283. Verify neighbor # 192.35.82.100 is in autonomous system 145. Do not # generate a default route from EGP information learned. # # autonomoussystem 283; # # egp yes { # group peeras 145 { # neighbor 192.100.110.100 nogendefault ; # } ; # } ; # ############################################################################## # # Simple BGP # This host is in autonomous system 283. Verify peer # 192.100.110.1 is in autonomous system 145. # # autonomoussystem 283; # # bgp yes { # group type # External peeras 145 { # peer 192.100.110.1 ; # } ; # } ; # ##############################################################################