Diff for /embedaddon/bird/doc/bird-6.html between versions 1.1 and 1.1.1.2

version 1.1, 2017/08/22 12:33:54 version 1.1.1.2, 2021/03/17 19:50:23
Line 180  in the future. Also note that we currently support at  Line 180  in the future. Also note that we currently support at 
 <P>BFD packets are sent with a dynamic source port number. Linux systems use by  <P>BFD packets are sent with a dynamic source port number. Linux systems use by
 default a bit different dynamic port range than the IANA approved one  default a bit different dynamic port range than the IANA approved one
 (49152-65535). If you experience problems with compatibility, please adjust  (49152-65535). If you experience problems with compatibility, please adjust
<CODE>/proc/sys/net/ipv4/ip_local_port_range</CODE><CODE>/proc/sys/net/ipv4/ip_local_port_range</CODE>.
 <P>  <P>
 <H3><A NAME="bfd-config"></A> Configuration</H3>  <H3><A NAME="bfd-config"></A> Configuration</H3>
   
Line 196  configuration is often sufficient. Line 196  configuration is often sufficient.
 <P>Note that to use BFD for other protocols like OSPF or BGP, these protocols  <P>Note that to use BFD for other protocols like OSPF or BGP, these protocols
 also have to be configured to request BFD sessions, usually by <CODE>bfd</CODE> option.  also have to be configured to request BFD sessions, usually by <CODE>bfd</CODE> option.
 <P>  <P>
   <P>A BFD instance not associated with any VRF handles session requests from all
   other protocols, even ones associated with a VRF. Such setup would work for
   single-hop BFD sessions if <CODE>net.ipv4.udp_l3mdev_accept</CODE> sysctl is enabled,
   but does not currently work for multihop sessions. Another approach is to
   configure multiple BFD instances, one for each VRF (including the default VRF).
   Each BFD instance associated with a VRF (regular or default) only handles
   session requests from protocols in the same VRF.
   <P>
 <P>Some of BFD session options require <I>time</I> value, which has to be specified  <P>Some of BFD session options require <I>time</I> value, which has to be specified
 with the appropriate unit: <I>num</I> <CODE>s</CODE>|<CODE>ms</CODE>|<CODE>us</CODE>. Although microseconds  with the appropriate unit: <I>num</I> <CODE>s</CODE>|<CODE>ms</CODE>|<CODE>us</CODE>. Although microseconds
 are allowed as units, practical minimum values are usually in order of tens of  are allowed as units, practical minimum values are usually in order of tens of
Line 325  offers better resistance to replay attacks but may req Line 333  offers better resistance to replay attacks but may req
 computation.  computation.
 <P>  <P>
 <DT><CODE>password "<I>text</I>"</CODE><DD><P>Specifies a password used for authentication. See   <DT><CODE>password "<I>text</I>"</CODE><DD><P>Specifies a password used for authentication. See 
<A HREF="bird-3.html#proto-iface">interface</A><@@ref>dsc-passpassword</A> common option for detailed description. Note that<A HREF="bird-3.html#proto-pass">password</A> common option for detailed description. Note that
 password option <CODE>algorithm</CODE> is not available in BFD protocol. The  password option <CODE>algorithm</CODE> is not available in BFD protocol. The
 algorithm is selected by <CODE>authentication</CODE> option for all passwords.  algorithm is selected by <CODE>authentication</CODE> option for all passwords.
 <P>  <P>
Line 449  mandatory. Line 457  mandatory.
 <DT><CODE>  <DT><CODE>
 <A NAME="bgp-iface"></A> interface <I>string</I></CODE><DD><P>Define interface we should use for link-local BGP IPv6 sessions.  <A NAME="bgp-iface"></A> interface <I>string</I></CODE><DD><P>Define interface we should use for link-local BGP IPv6 sessions.
 Interface can also be specified as a part of <CODE>neighbor address</CODE>  Interface can also be specified as a part of <CODE>neighbor address</CODE>
(e.g., <CODE>neighbor fe80::1234%eth0 as 65000;</CODE>). It is an error to use(e.g., <CODE>neighbor fe80::1234%eth0 as 65000;</CODE>). The option may also be
this parameter for non link-local sessions.used for non link-local sessions when it is necessary to explicitly
 specify an interface, but only for direct (not multihop) sessions.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
 <A NAME="bgp-direct"></A> direct</CODE><DD><P>Specify that the neighbor is directly connected. The IP address of the  <A NAME="bgp-direct"></A> direct</CODE><DD><P>Specify that the neighbor is directly connected. The IP address of the
Line 530  immediately shut down. Note that this option cannot be Line 539  immediately shut down. Note that this option cannot be
 multihop BGP. Default: disabled.  multihop BGP. Default: disabled.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="bgp-bfd"></A> bfd <I>switch</I></CODE><DD><P>BGP could use BFD protocol as an advisory mechanism for neighbor<A NAME="bgp-bfd"></A> bfd <I>switch</I>|graceful</CODE><DD><P>BGP could use BFD protocol as an advisory mechanism for neighbor
 liveness and failure detection. If enabled, BIRD setups a BFD session  liveness and failure detection. If enabled, BIRD setups a BFD session
 for the BGP neighbor and tracks its liveness by it. This has an  for the BGP neighbor and tracks its liveness by it. This has an
 advantage of an order of magnitude lower detection times in case of  advantage of an order of magnitude lower detection times in case of
failure. Note that BFD protocol also has to be configured, seefailure. When a neighbor failure is detected, the BGP session is
<A HREF="#bfd">BFD</A> section for details. Default: disabled.restarted. Optionally, it can be configured (by <CODE>graceful</CODE> argument)
 to trigger graceful restart instead of regular restart.  Note that BFD
 protocol also has to be configured, see 
 <A HREF="#bfd">BFD</A>
 section for details. Default: disabled.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
 <A NAME="bgp-ttl-security"></A> ttl security <I>switch</I></CODE><DD><P>Use GTSM (<A HREF="http://www.rfc-editor.org/info/rfc5082">RFC 5082</A> - the generalized TTL security mechanism). GTSM  <A NAME="bgp-ttl-security"></A> ttl security <I>switch</I></CODE><DD><P>Use GTSM (<A HREF="http://www.rfc-editor.org/info/rfc5082">RFC 5082</A> - the generalized TTL security mechanism). GTSM
Line 611  TX direction. When active, all available routes accept Line 624  TX direction. When active, all available routes accept
 filter are advertised to the neighbor. Default: off.  filter are advertised to the neighbor. Default: off.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
   <A NAME="bgp-allow-local-pref"></A> allow bgp_local_pref <I>switch</I></CODE><DD><P>A standard BGP implementation do not send the Local Preference attribute
   to eBGP neighbors and ignore this attribute if received from eBGP
   neighbors, as per <A HREF="http://www.rfc-editor.org/info/rfc4271">RFC 4271</A>.  When this option is enabled on an
   eBGP session, this attribute will be sent to and accepted from the peer,
   which is useful for example if you have a setup like in <A HREF="http://www.rfc-editor.org/info/rfc7938">RFC 7938</A>.
   The option does not affect iBGP sessions. Default: off.
   <P>
   <DT><CODE>
 <A NAME="bgp-allow-local-as"></A> allow local as [<I>number</I>]</CODE><DD><P>BGP prevents routing loops by rejecting received routes with the local  <A NAME="bgp-allow-local-as"></A> allow local as [<I>number</I>]</CODE><DD><P>BGP prevents routing loops by rejecting received routes with the local
 AS number in the AS path. This option allows to loose or disable the  AS number in the AS path. This option allows to loose or disable the
 check. Optional <CODE>number</CODE> argument can be used to specify the maximum  check. Optional <CODE>number</CODE> argument can be used to specify the maximum
Line 653  re-establish after a restart before deleting stale rou Line 674  re-establish after a restart before deleting stale rou
 120 seconds.  120 seconds.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
   <A NAME="bgp-long-lived-graceful-restart"></A> long lived graceful restart <I>switch</I>|aware</CODE><DD><P>The long-lived graceful restart is an extension of the traditional
   <A HREF="#bgp-graceful-restart">BGP graceful restart</A>, where stale
   routes are kept even after the 
   <A HREF="#bgp-graceful-restart-time">restart time</A> expires for additional long-lived stale time, but
   they are marked with the LLGR_STALE community, depreferenced, and
   withdrawn from routers not supporting LLGR. Like traditional BGP
   graceful restart, it has three states: disabled, aware (receiving-only),
   and enabled. Note that long-lived graceful restart requires at least
   aware level of traditional BGP graceful restart. Default: aware, unless
   graceful restart is disabled.
   <P>
   <DT><CODE>
   <A NAME="bgp-long-lived-stale-time"></A> long lived stale time <I>number</I></CODE><DD><P>The long-lived stale time is announced in the BGP long-lived graceful
   restart capability and specifies how long the neighbor would keep stale
   routes depreferenced during long-lived graceful restart until either the
   session is re-stablished and synchronized or the stale time expires and
   routes are removed. Default: 3600 seconds.
   <P>
   <DT><CODE>
 <A NAME="bgp-interpret-communities"></A> interpret communities <I>switch</I></CODE><DD><P><A HREF="http://www.rfc-editor.org/info/rfc1997">RFC 1997</A> demands that BGP speaker should process well-known  <A NAME="bgp-interpret-communities"></A> interpret communities <I>switch</I></CODE><DD><P><A HREF="http://www.rfc-editor.org/info/rfc1997">RFC 1997</A> demands that BGP speaker should process well-known
 communities like no-export (65535, 65281) or no-advertise (65535,  communities like no-export (65535, 65281) or no-advertise (65535,
 65282). For example, received route carrying a no-adverise community  65282). For example, received route carrying a no-adverise community
Line 704  disable the instance automatically and wait for an adm Line 744  disable the instance automatically and wait for an adm
 the problem manually. Default: off.  the problem manually. Default: off.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
   <A NAME="bgp-disable-after-cease"></A> disable after cease <I>switch</I>|<I>set-of-flags</I></CODE><DD><P>When a Cease notification is received, disable the instance
   automatically and wait for an administrator to fix the problem manually.
   When used with <I>switch</I> argument, it means handle every Cease subtype
   with the exception of <CODE>connection collision</CODE>. Default: off.
   <P>The <I>set-of-flags</I> allows to narrow down relevant Cease subtypes. The
   syntax is <CODE>{<I>flag</I> [, <I>...</I>] }</CODE>, where flags are: <CODE>cease</CODE>,
   <CODE>prefix limit hit</CODE>, <CODE>administrative shutdown</CODE>,
   <CODE>peer deconfigured</CODE>, <CODE>administrative reset</CODE>,
   <CODE>connection rejected</CODE>, <CODE>configuration change</CODE>,
   <CODE>connection collision</CODE>, <CODE>out of resources</CODE>.
   <P>
   <DT><CODE>
 <A NAME="bgp-hold-time"></A> hold time <I>number</I></CODE><DD><P>Time in seconds to wait for a Keepalive message from the other side  <A NAME="bgp-hold-time"></A> hold time <I>number</I></CODE><DD><P>Time in seconds to wait for a Keepalive message from the other side
 before considering the connection stale. Default: depends on agreement  before considering the connection stale. Default: depends on agreement
 with the neighboring router, we prefer 240 seconds if the other side is  with the neighboring router, we prefer 240 seconds if the other side is
Line 793  some of them (marked with `<CODE>O</CODE>') are option Line 845  some of them (marked with `<CODE>O</CODE>') are option
 <P>  <P>
 <DL>  <DL>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-path"></A> bgppath bgp_path/</CODE><DD><P>Sequence of AS numbers describing the AS path the packet will travel<A NAME="rta-bgp-path"></A> bgppath bgp_path</CODE><DD><P>Sequence of AS numbers describing the AS path the packet will travel
 through when forwarded according to the particular route. In case of  through when forwarded according to the particular route. In case of
 internal BGP it doesn't contain the number of the local AS.  internal BGP it doesn't contain the number of the local AS.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-local-pref"></A> int bgp_local_pref/ [I]</CODE><DD><P>Local preference value used for selection among multiple BGP routes (see<A NAME="rta-bgp-local-pref"></A> int bgp_local_pref [I]</CODE><DD><P>Local preference value used for selection among multiple BGP routes (see
 the selection rules above). It's used as an additional metric which is  the selection rules above). It's used as an additional metric which is
 propagated through the whole local AS.  propagated through the whole local AS.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-med"></A> int bgp_med/ [O]</CODE><DD><P>The Multiple Exit Discriminator of the route is an optional attribute<A NAME="rta-bgp-med"></A> int bgp_med [O]</CODE><DD><P>The Multiple Exit Discriminator of the route is an optional attribute
 which is used on external (inter-AS) links to convey to an adjacent AS  which is used on external (inter-AS) links to convey to an adjacent AS
 the optimal entry point into the local AS. The received attribute is  the optimal entry point into the local AS. The received attribute is
 also propagated over internal BGP links. The attribute value is zeroed  also propagated over internal BGP links. The attribute value is zeroed
Line 814  external BGP instance. See <A HREF="http://www.rfc-edi Line 866  external BGP instance. See <A HREF="http://www.rfc-edi
 BGP MED attribute.  BGP MED attribute.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-origin"></A> enum bgp_origin/</CODE><DD><P>Origin of the route: either <CODE>ORIGIN_IGP</CODE> if the route has originated<A NAME="rta-bgp-origin"></A> enum bgp_origin</CODE><DD><P>Origin of the route: either <CODE>ORIGIN_IGP</CODE> if the route has originated
 in an interior routing protocol or <CODE>ORIGIN_EGP</CODE> if it's been imported  in an interior routing protocol or <CODE>ORIGIN_EGP</CODE> if it's been imported
 from the <CODE>EGP</CODE> protocol (nowadays it seems to be obsolete) or  from the <CODE>EGP</CODE> protocol (nowadays it seems to be obsolete) or
 <CODE>ORIGIN_INCOMPLETE</CODE> if the origin is unknown.  <CODE>ORIGIN_INCOMPLETE</CODE> if the origin is unknown.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-next-hop"></A> ip bgp_next_hop/</CODE><DD><P>Next hop to be used for forwarding of packets to this destination. On<A NAME="rta-bgp-next-hop"></A> ip bgp_next_hop</CODE><DD><P>Next hop to be used for forwarding of packets to this destination. On
 internal BGP connections, it's an address of the originating router if  internal BGP connections, it's an address of the originating router if
 it's inside the local AS or a boundary router the packet will leave the  it's inside the local AS or a boundary router the packet will leave the
 AS through if it's an exterior route, so each BGP speaker within the AS  AS through if it's an exterior route, so each BGP speaker within the AS
 has a chance to use the shortest interior path possible to this point.  has a chance to use the shortest interior path possible to this point.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-atomic-aggr"></A> void bgp_atomic_aggr/ [O]</CODE><DD><P>This is an optional attribute which carries no value, but the sole<A NAME="rta-bgp-atomic-aggr"></A> void bgp_atomic_aggr [O]</CODE><DD><P>This is an optional attribute which carries no value, but the sole
 presence of which indicates that the route has been aggregated from  presence of which indicates that the route has been aggregated from
 multiple routes by some router on the path from the originator.  multiple routes by some router on the path from the originator.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-community"></A> clist bgp_community/ [O]</CODE><DD><P>List of community values associated with the route. Each such value is a<A NAME="rta-bgp-community"></A> clist bgp_community [O]</CODE><DD><P>List of community values associated with the route. Each such value is a
 pair (represented as a <CODE>pair</CODE> data type inside the filters) of 16-bit  pair (represented as a <CODE>pair</CODE> data type inside the filters) of 16-bit
 integers, the first of them containing the number of the AS which  integers, the first of them containing the number of the AS which
 defines the community and the second one being a per-AS identifier.  defines the community and the second one being a per-AS identifier.
Line 843  freedom about which community attributes it defines an Line 895  freedom about which community attributes it defines an
 semantics be.  semantics be.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-ext-community"></A> eclist bgp_ext_community/ [O]</CODE><DD><P>List of extended community values associated with the route. Extended<A NAME="rta-bgp-ext-community"></A> eclist bgp_ext_community [O]</CODE><DD><P>List of extended community values associated with the route. Extended
 communities have similar usage as plain communities, but they have an  communities have similar usage as plain communities, but they have an
 extended range (to allow 4B ASNs) and a nontrivial structure with a type  extended range (to allow 4B ASNs) and a nontrivial structure with a type
 field. Individual community values are represented using an <CODE>ec</CODE> data  field. Individual community values are represented using an <CODE>ec</CODE> data
 type inside the filters.  type inside the filters.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-large-community"></A> lclist <CODE>bgp_large_community</CODE> [O]</CODE><DD><P>List of large community values associated with the route. Large BGP<A NAME="rta-bgp-large-community"></A> lclist bgp_large_community [O]</CODE><DD><P>List of large community values associated with the route. Large BGP
 communities is another variant of communities, but contrary to extended  communities is another variant of communities, but contrary to extended
 communities they behave very much the same way as regular communities,  communities they behave very much the same way as regular communities,
 just larger -- they are uniform untyped triplets of 32bit numbers.  just larger -- they are uniform untyped triplets of 32bit numbers.
Line 858  Individual community values are represented using an < Line 910  Individual community values are represented using an <
 inside the filters.  inside the filters.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-originator-id"></A> quad bgp_originator_id/ [I, O]</CODE><DD><P>This attribute is created by the route reflector when reflecting the<A NAME="rta-bgp-originator-id"></A> quad bgp_originator_id [I, O]</CODE><DD><P>This attribute is created by the route reflector when reflecting the
 route and contains the router ID of the originator of the route in the  route and contains the router ID of the originator of the route in the
 local AS.  local AS.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-bgp-cluster-list"></A> clist bgp_cluster_list/ [I, O]</CODE><DD><P>This attribute contains a list of cluster IDs of route reflectors. Each<A NAME="rta-bgp-cluster-list"></A> clist bgp_cluster_list [I, O]</CODE><DD><P>This attribute contains a list of cluster IDs of route reflectors. Each
 route reflector prepends its cluster ID when reflecting the route.  route reflector prepends its cluster ID when reflecting the route.
 </DL>  </DL>
 <P>  <P>
Line 1106  these attributes: Line 1158  these attributes:
 <P>  <P>
 <DL>  <DL>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-krt-source"></A> int krt_source/</CODE><DD><P>The original source of the imported kernel route. The value is<A NAME="rta-krt-source"></A> int krt_source</CODE><DD><P>The original source of the imported kernel route. The value is
 system-dependent. On Linux, it is a value of the protocol field of the  system-dependent. On Linux, it is a value of the protocol field of the
 route. See /etc/iproute2/rt_protos for common values. On BSD, it is  route. See /etc/iproute2/rt_protos for common values. On BSD, it is
 based on STATIC and PROTOx flags. The attribute is read-only.  based on STATIC and PROTOx flags. The attribute is read-only.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-krt-metric"></A> int krt_metric/</CODE><DD><P>(Linux)<A NAME="rta-krt-metric"></A> int krt_metric</CODE><DD><P>(Linux)
 The kernel metric of the route. When multiple same routes are in a  The kernel metric of the route. When multiple same routes are in a
 kernel routing table, the Linux kernel chooses one with lower metric.  kernel routing table, the Linux kernel chooses one with lower metric.
 Note that preferred way to set kernel metric is to use protocol option  Note that preferred way to set kernel metric is to use protocol option
 <CODE>metric</CODE>, unless per-route metric values are needed.  <CODE>metric</CODE>, unless per-route metric values are needed.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-krt-prefsrc"></A> ip krt_prefsrc/</CODE><DD><P>(Linux)<A NAME="rta-krt-prefsrc"></A> ip krt_prefsrc</CODE><DD><P>(Linux)
 The preferred source address. Used in source address selection for  The preferred source address. Used in source address selection for
 outgoing packets. Has to be one of the IP addresses of the router.  outgoing packets. Has to be one of the IP addresses of the router.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-krt-realm"></A> int krt_realm/</CODE><DD><P>(Linux)<A NAME="rta-krt-realm"></A> int krt_realm</CODE><DD><P>(Linux)
 The realm of the route. Can be used for traffic classification.  The realm of the route. Can be used for traffic classification.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-krt-scope"></A> int krt_scope/</CODE><DD><P>(Linux IPv4)<A NAME="rta-krt-scope"></A> int krt_scope</CODE><DD><P>(Linux IPv4)
 The scope of the route. Valid values are 0-254, although Linux kernel  The scope of the route. Valid values are 0-254, although Linux kernel
 may reject some values depending on route type and nexthop. It is  may reject some values depending on route type and nexthop. It is
 supposed to represent `indirectness' of the route, where nexthops of  supposed to represent `indirectness' of the route, where nexthops of
Line 1186  protocol kernel {               # Secondary routing ta Line 1238  protocol kernel {               # Secondary routing ta
 <HR>  <HR>
 <P>  <P>
 <P>  <P>
<H2><A NAME="ospf"></A> <A NAME="ss6.7">6.7</A> <A HREF="bird.html#toc6.7">OSPF</A><H2><A NAME="mrt"></A> <A NAME="ss6.7">6.7</A> <A HREF="bird.html#toc6.7">MRT</A>
 </H2>  </H2>
   
   <H3><A NAME="mrt-intro"></A> Introduction</H3>
   
   <P>The MRT protocol is a component responsible for handling the Multi-Threaded
   Routing Toolkit (MRT) routing information export format, which is mainly used
   for collecting and analyzing of routing information from BGP routers. The MRT
   protocol can be configured to do periodic dumps of routing tables, created MRT
   files can be analyzed later by other tools. Independent MRT table dumps can also
   be requested from BIRD client. There is also a feature to save incoming BGP
   messages in MRT files, but it is controlled by 
   <A HREF="bird-3.html#proto-mrtdump">mrtdump</A> options independently of MRT protocol, although that might
   change in the future.
   <P>BIRD implements the main MRT format specification as defined in <A HREF="http://www.rfc-editor.org/info/rfc6396">RFC 6396</A>
   and the ADD_PATH extension (<A HREF="http://www.rfc-editor.org/info/rfc8050">RFC 8050</A>).
   <P>
   <H3><A NAME="mrt-config"></A> Configuration</H3>
   
   <P>MRT configuration consists of several statements describing routing table
   dumps. Multiple independent periodic dumps can be done as multiple MRT protocol
   instances. There are two mandatory statements: <CODE>filename</CODE> and <CODE>period</CODE>.
   The behavior can be modified by following configuration parameters:
   <P>
   <DL>
   <DT><CODE>
   <A NAME="mrt-table"></A> table <I>name</I> | "<I>pattern</I>"</CODE><DD><P>Specify a routing table (or a set of routing tables described by a
   wildcard pattern) that are to be dumped by the MRT protocol instance.
   Default: the master table.
   <P>
   <DT><CODE>
   <A NAME="mrt-filter"></A> filter { <I>filter commands</I> }</CODE><DD><P>The MRT protocol allows to specify a filter that is applied to routes as
   they are dumped. Rejected routes are ignored and not saved to the MRT
   dump file. Default: no filter.
   <P>
   <DT><CODE>
   <A NAME="mrt-where"></A> where <I>filter expression</I></CODE><DD><P>An alternative way to specify a filter for the MRT protocol.
   <P>
   <DT><CODE>
   <A NAME="mrt-filename"></A> filename "<I>filename</I>"</CODE><DD><P>Specify a filename for MRT dump files. The filename may contain time
   format sequences with <I>strftime(3)</I> notation (see <I>man strftime</I>
   for details), there is also a sequence "%N" that is expanded to the name
   of dumped table. Therefore, each periodic dump of each table can be
   saved to a different file. Mandatory, see example below.
   <P>
   <DT><CODE>
   <A NAME="mrt-period"></A> period <I>number</I></CODE><DD><P>Specify the time interval (in seconds) between periodic dumps.
   Mandatory.
   <P>
   <DT><CODE>
   <A NAME="mrt-always-add-path"></A> always add path <I>switch</I></CODE><DD><P>The MRT format uses special records (specified in <A HREF="http://www.rfc-editor.org/info/rfc8050">RFC 8050</A>) for
   routes received using BGP ADD_PATH extension to keep Path ID, while
   other routes use regular records. This has advantage of better
   compatibility with tools that do not know special records, but it loses
   information about which route is the best route. When this option is
   enabled, both ADD_PATH and non-ADD_PATH routes are stored in ADD_PATH
   records and order of routes for network is preserved. Default: disabled.
   </DL>
   <P>
   <H3><A NAME="mrt-exam"></A> Example</H3>
   
   <P>
   <HR>
   <PRE>
   protocol mrt {
           table "tab*";
           where source = RTS_BGP;
           filename "/var/log/bird/%N_%F_%T.mrt";
           period 300;
   }
   </PRE>
   <HR>
   <P>
   <P>
   <H2><A NAME="ospf"></A> <A NAME="ss6.8">6.8</A> <A HREF="bird.html#toc6.8">OSPF</A>
   </H2>
   
 <H3><A NAME="ospf-intro"></A> Introduction</H3>  <H3><A NAME="ospf-intro"></A> Introduction</H3>
   
 <P>Open Shortest Path First (OSPF) is a quite complex interior gateway  <P>Open Shortest Path First (OSPF) is a quite complex interior gateway
Line 1492  neighbors on NBMA network. Default value is 20. Line 1618  neighbors on NBMA network. Default value is 20.
 updates. Default value is 5.  updates. Default value is 5.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
   <A NAME="ospf-transmit-delay"></A> transmit delay <I>num</I></CODE><DD><P>Specifies estimated transmission delay of link state updates send over
   the interface. The value is added to LSA age of LSAs propagated through
   it. Default value is 1.
   <P>
   <DT><CODE>
 <A NAME="ospf-priority"></A> priority <I>num</I></CODE><DD><P>On every multiple access network (e.g., the Ethernet) Designated Router  <A NAME="ospf-priority"></A> priority <I>num</I></CODE><DD><P>On every multiple access network (e.g., the Ethernet) Designated Router
 and Backup Designated router are elected. These routers have some special  and Backup Designated router are elected. These routers have some special
 functions in the flooding process. Higher priority increases preferences  functions in the flooding process. Higher priority increases preferences
Line 1754  protocol ospf MyOSPF { Line 1885  protocol ospf MyOSPF {
 <HR>  <HR>
 <P>  <P>
 <P>  <P>
<H2><A NAME="pipe"></A> <A NAME="ss6.8">6.8</A> <A HREF="bird.html#toc6.8">Pipe</A><H2><A NAME="pipe"></A> <A NAME="ss6.9">6.9</A> <A HREF="bird.html#toc6.9">Pipe</A>
 </H2>  </H2>
   
 <H3><A NAME="pipe-intro"></A> Introduction</H3>  <H3><A NAME="pipe-intro"></A> Introduction</H3>
Line 1879  protocol pipe {                         # The Pipe Line 2010  protocol pipe {                         # The Pipe
 <HR>  <HR>
 <P>  <P>
 <P>  <P>
<H2><A NAME="radv"></A> <A NAME="ss6.9">6.9</A> <A HREF="bird.html#toc6.9">RAdv</A><H2><A NAME="radv"></A> <A NAME="ss6.10">6.10</A> <A HREF="bird.html#toc6.10">RAdv</A>
 </H2>  </H2>
   
 <H3><A NAME="radv-intro"></A> Introduction</H3>  <H3><A NAME="radv-intro"></A> Introduction</H3>
Line 1890  time intervals or as an answer to a request) advertise Line 2021  time intervals or as an answer to a request) advertise
 networks. These packets contain basic information about a local network (e.g. a  networks. These packets contain basic information about a local network (e.g. a
 list of network prefixes), which allows network hosts to autoconfigure network  list of network prefixes), which allows network hosts to autoconfigure network
 addresses and choose a default route. BIRD implements router behavior as defined  addresses and choose a default route. BIRD implements router behavior as defined
in <A HREF="http://www.rfc-editor.org/info/rfc4861">RFC 4861</A> and also the DNS extensions from <A HREF="http://www.rfc-editor.org/info/rfc6106">RFC 6106</A>.in <A HREF="http://www.rfc-editor.org/info/rfc4861">RFC 4861</A>, router preferences and specific routes (<A HREF="http://www.rfc-editor.org/info/rfc4191">RFC 4191</A>),
 and DNS extensions (<A HREF="http://www.rfc-editor.org/info/rfc6106">RFC 6106</A>).
 <P>  <P>
 <H3><A NAME="radv-config"></A> Configuration</H3>  <H3><A NAME="radv-config"></A> Configuration</H3>
   
Line 1926  specifies one DNS server. Multiple definitions are cum Line 2058  specifies one DNS server. Multiple definitions are cum
 definitions may also be interface-specific when used inside interface  definitions may also be interface-specific when used inside interface
 options. By default, interface uses both global and interface-specific  options. By default, interface uses both global and interface-specific
 options, but that can be changed by <CODE>rdnss local</CODE> option.  options, but that can be changed by <CODE>rdnss local</CODE> option.
dsc-iface<P>
 <DT><CODE>  <DT><CODE>
 <A NAME="radv-dnssl"></A> dnssl { <I>options</I> }</CODE><DD><P>DNSSL definitions allow to specify a list of advertised DNS search  <A NAME="radv-dnssl"></A> dnssl { <I>options</I> }</CODE><DD><P>DNSSL definitions allow to specify a list of advertised DNS search
 domains together with their options. Like <CODE>rdnss</CODE> above, multiple  domains together with their options. Like <CODE>rdnss</CODE> above, multiple
Line 1938  specifies one DNS search domain. Line 2070  specifies one DNS search domain.
 <A NAME="radv-trigger"></A> trigger <I>prefix</I></CODE><DD><P>RAdv protocol could be configured to change its behavior based on  <A NAME="radv-trigger"></A> trigger <I>prefix</I></CODE><DD><P>RAdv protocol could be configured to change its behavior based on
 availability of routes. When this option is used, the protocol waits in  availability of routes. When this option is used, the protocol waits in
 suppressed state until a <I>trigger route</I> (for the specified network)  suppressed state until a <I>trigger route</I> (for the specified network)
is exported to the protocol, the protocol also returnsd to suppressedis exported to the protocol, the protocol also returns to suppressed
 state if the <I>trigger route</I> disappears. Note that route export  state if the <I>trigger route</I> disappears. Note that route export
 depends on specified export filter, as usual. This option could be used,  depends on specified export filter, as usual. This option could be used,
 e.g., for handling failover in multihoming scenarios.  e.g., for handling failover in multihoming scenarios.
Line 1950  lifetime</CODE>) is zeroed, which means hosts cannot u Line 2082  lifetime</CODE>) is zeroed, which means hosts cannot u
 default router. <CODE>preferred lifetime</CODE> and <CODE>valid lifetime</CODE> could  default router. <CODE>preferred lifetime</CODE> and <CODE>valid lifetime</CODE> could
 also be configured as <CODE>sensitive</CODE> for a prefix, which would cause  also be configured as <CODE>sensitive</CODE> for a prefix, which would cause
 autoconfigured IPs to be deprecated or even removed.  autoconfigured IPs to be deprecated or even removed.
   <P>
   <DT><CODE>
   <A NAME="radv-propagate-routes"></A> propagate routes <I>switch</I></CODE><DD><P>This option controls propagation of more specific routes, as defined in
   <A HREF="http://www.rfc-editor.org/info/rfc4191">RFC 4191</A>. If enabled, all routes exported to the RAdv protocol,
   with the exception of the trigger prefix, are added to advertisments as
   additional options. The lifetime and preference of advertised routes can
   be set individually by <CODE>ra_lifetime</CODE> and <CODE>ra_preference</CODE> route
   attributes, or per interface by <CODE>route lifetime</CODE> and
   <CODE>route preference</CODE> options. Default: disabled.
   <P>Note that the RFC discourages from sending more than 17 routes and
   recommends the routes to be configured manually.
 </DL>  </DL>
 <P>  <P>
 <P>Interface specific options:  <P>Interface specific options:
Line 1996  unspecified. Default 0. Line 2139  unspecified. Default 0.
 hosts. Valid values are 0-255, 0 means unspecified. Default: 64  hosts. Valid values are 0-255, 0 means unspecified. Default: 64
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="radv-iface-default-lifetime"></A> default lifetime <I>expr</I> [sensitive <I>switch</I>]</CODE><DD><P>This option specifies the time (in seconds) how long (after the receipt<A NAME="radv-iface-default-lifetime"></A> default lifetime <I>expr</I> [sensitive <I>switch</I>]</CODE><DD><P>This option specifies the time (in seconds) how long (since the receipt
 of RA) hosts may use the router as a default router. 0 means do not use  of RA) hosts may use the router as a default router. 0 means do not use
 as a default router. For <CODE>sensitive</CODE> option, see   as a default router. For <CODE>sensitive</CODE> option, see 
 <A HREF="#radv-trigger">trigger</A>.  <A HREF="#radv-trigger">trigger</A>.
 Default: 3 * <CODE>max ra       interval</CODE>, <CODE>sensitive</CODE> yes.  Default: 3 * <CODE>max ra       interval</CODE>, <CODE>sensitive</CODE> yes.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="radv-iface-default-preference-low"></A> default preference low|medium|high</CODE><DD><P>This option specifies the Default Router Preference value to advertise<A NAME="radv-iface-default-preference"></A> default preference low|medium|high</CODE><DD><P>This option specifies the Default Router Preference value to advertise
 to hosts. Default: medium.  to hosts. Default: medium.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
   <A NAME="radv-iface-route-lifetime"></A> route lifetime <I>expr</I> [sensitive <I>switch</I>]</CODE><DD><P>This option specifies the default value of advertised lifetime for
   specific routes; i.e., the time (in seconds) for how long (since the
   receipt of RA) hosts should consider these routes valid. A special value
   0xffffffff represents infinity. The lifetime can be overriden on a per
   route basis by the 
   <A HREF="#rta-ra-lifetime">ra_lifetime</A> route
   attribute. Default: 3 * <CODE>max ra interval</CODE>, <CODE>sensitive</CODE> no.
   <P>For the <CODE>sensitive</CODE> option, see 
   <A HREF="#radv-trigger">trigger</A>.
   If <CODE>sensitive</CODE> is enabled, even the routes with the <CODE>ra_lifetime</CODE>
   attribute become sensitive to the trigger.
   <P>
   <DT><CODE>
   <A NAME="radv-iface-route-preference"></A> route preference low|medium|high</CODE><DD><P>This option specifies the default value of advertised route preference
   for specific routes. The value can be overriden on a per route basis by
   the 
   <A HREF="#rta-ra-preference">ra_preference</A> route attribute.
   Default: medium.
   <P>
   <DT><CODE>
   <A NAME="radv-prefix-linger-time"></A> prefix linger time <I>expr</I></CODE><DD><P>When a prefix or a route disappears, it is advertised for some time with
   zero lifetime, to inform clients it is no longer valid. This option
   specifies the time (in seconds) for how long prefixes are advertised
   that way. Default: 3 * <CODE>max ra interval</CODE>.
   <P>
   <DT><CODE>
   <A NAME="radv-route-linger-time"></A> route linger time <I>expr</I></CODE><DD><P>When a prefix or a route disappears, it is advertised for some time with
   zero lifetime, to inform clients it is no longer valid. This option
   specifies the time (in seconds) for how long routes are advertised
   that way. Default: 3 * <CODE>max ra interval</CODE>.
   <P>
   <DT><CODE>
 <A NAME="radv-iface-rdnss-local"></A> rdnss local <I>switch</I></CODE><DD><P>Use only local (interface-specific) RDNSS definitions for this  <A NAME="radv-iface-rdnss-local"></A> rdnss local <I>switch</I></CODE><DD><P>Use only local (interface-specific) RDNSS definitions for this
 interface. Otherwise, both global and local definitions are used. Could  interface. Otherwise, both global and local definitions are used. Could
 also be used to disable RDNSS for given interface if no local definitons  also be used to disable RDNSS for given interface if no local definitons
Line 2054  see  Line 2229  see 
 <CODE>sensitive</CODE> no.  <CODE>sensitive</CODE> no.
 </DL>  </DL>
 <P>  <P>
 <P>  
 <P>RDNSS specific options:  <P>RDNSS specific options:
 <P>  <P>
 <DL>  <DL>
Line 2087  used by clients after the receipt of RA. Details are t Line 2261  used by clients after the receipt of RA. Details are t
 RDNSS <CODE>lifetime</CODE> option above. Default: 3 * <CODE>max ra interval</CODE>.  RDNSS <CODE>lifetime</CODE> option above. Default: 3 * <CODE>max ra interval</CODE>.
 </DL>  </DL>
 <P>  <P>
   <H3><A NAME="radv-attr"></A> Attributes</H3>
   
   <P>RAdv defines two route attributes:
 <P>  <P>
   <DL>
   <DT><CODE>
   <A NAME="rta-ra-preference"></A> enum ra_preference</CODE><DD><P>The preference of the route. The value can be <I>RA_PREF_LOW</I>,
   <I>RA_PREF_MEDIUM</I> or <I>RA_PREF_HIGH</I>. If the attribute is not set,
   the 
   <A HREF="#radv-iface-route-preference">route preference</A>
   option is used.
   <P>
   <DT><CODE>
   <A NAME="rta-ra-lifetime"></A> int ra_lifetime</CODE><DD><P>The advertised lifetime of the route, in seconds. The special value of
   0xffffffff represents infinity. If the attribute is not set, the
   <A HREF="#radv-iface-route-lifetime">route lifetime</A>
   option is used.
   </DL>
   <P>
 <H3><A NAME="radv-exam"></A> Example</H3>  <H3><A NAME="radv-exam"></A> Example</H3>
   
 <P>  <P>
 <HR>  <HR>
 <PRE>  <PRE>
   table radv_routes;                      # Manually configured routes go here
   
   protocol static {
           table radv_routes;
   
           route 2001:0DB8:4000::/48 unreachable;
           route 2001:0DB8:4010::/48 unreachable;
   
           route 2001:0DB8:4020::/48 unreachable {
                   ra_preference = RA_PREF_HIGH;
                   ra_lifetime = 3600;
           };
   }
   
 protocol radv {  protocol radv {
           propagate routes yes;           # Propagate the routes from the radv_routes table
           table radv_routes;
           export all;
   
         interface "eth2" {          interface "eth2" {
                 max ra interval 5;      # Fast failover with more routers                  max ra interval 5;      # Fast failover with more routers
                 managed yes;            # Using DHCPv6 on eth2                  managed yes;            # Using DHCPv6 on eth2
Line 2130  protocol radv { Line 2340  protocol radv {
 <HR>  <HR>
 <P>  <P>
 <P>  <P>
<H2><A NAME="rip"></A> <A NAME="ss6.10">6.10</A> <A HREF="bird.html#toc6.10">RIP</A><H2><A NAME="rip"></A> <A NAME="ss6.11">6.11</A> <A HREF="bird.html#toc6.11">RIP</A>
 </H2>  </H2>
   
 <H3><A NAME="rip-intro"></A> Introduction</H3>  <H3><A NAME="rip-intro"></A> Introduction</H3>
Line 2365  Default: no. Line 2575  Default: no.
 <P>  <P>
 <DL>  <DL>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-rip-metric"></A> int rip_metric/</CODE><DD><P>RIP metric of the route (ranging from 0 to <CODE>infinity</CODE>).  When routes<A NAME="rta-rip-metric"></A> int rip_metric</CODE><DD><P>RIP metric of the route (ranging from 0 to <CODE>infinity</CODE>).  When routes
 from different RIP instances are available and all of them have the same  from different RIP instances are available and all of them have the same
 preference, BIRD prefers the route with lowest <CODE>rip_metric</CODE>. When a  preference, BIRD prefers the route with lowest <CODE>rip_metric</CODE>. When a
 non-RIP route is exported to RIP, the default metric is 1.  non-RIP route is exported to RIP, the default metric is 1.
 <P>  <P>
 <DT><CODE>  <DT><CODE>
<A NAME="rta-rip-tag"></A> int rip_tag/</CODE><DD><P>RIP route tag: a 16-bit number which can be used to carry additional<A NAME="rta-rip-tag"></A> int rip_tag</CODE><DD><P>RIP route tag: a 16-bit number which can be used to carry additional
 information with the route (for example, an originating AS number in  information with the route (for example, an originating AS number in
 case of external routes). When a non-RIP route is exported to RIP, the  case of external routes). When a non-RIP route is exported to RIP, the
 default tag is 0.  default tag is 0.
Line 2383  default tag is 0. Line 2593  default tag is 0.
 <HR>  <HR>
 <PRE>  <PRE>
 protocol rip {  protocol rip {
        debug all;        import all;
        port 1520;        export all;
        period 12;        interface "eth*" {
        garbage time 60;                metric 2;
        interface "eth0" { metric 3; mode multicast; };                port 1520;
        interface "eth*" { metric 2; mode broadcast; };                mode multicast;
        authentication cryptographic;                update time 12;
        password "secret-shared-key" { algorithm hmac sha256; };                timeout time 60;
        import filter { print "importing"; accept; };                authentication cryptographic;
        export filter { print "exporting"; accept; };                password "secret" { algorithm hmac sha256; };
         };
 }  }
 </PRE>  </PRE>
 <HR>  <HR>
 <P>  <P>
 <P>  <P>
<H2><A NAME="static"></A> <A NAME="ss6.11">6.11</A> <A HREF="bird.html#toc6.11">Static</A><H2><A NAME="static"></A> <A NAME="ss6.12">6.12</A> <A HREF="bird.html#toc6.12">Static</A>
 </H2>  </H2>
   
 <P>The Static protocol doesn't communicate with other routers in the network,  <P>The Static protocol doesn't communicate with other routers in the network,

Removed from v.1.1  
changed lines
  Added in v.1.1.1.2


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