diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2011-03-19 12:13:59 +0100 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2011-03-19 12:13:59 +0100 |
commit | 6bcef22580010aec695fb2b559c7b33ee00261b0 (patch) | |
tree | d79221307fd49ceebda68acb5478d727b5422269 /doc/bird.sgml | |
parent | 8e48831a970a784a979446813191628790d477f1 (diff) |
Documentation for the router advertisement protocol.
Diffstat (limited to 'doc/bird.sgml')
-rw-r--r-- | doc/bird.sgml | 153 |
1 files changed, 149 insertions, 4 deletions
diff --git a/doc/bird.sgml b/doc/bird.sgml index 5d9c7bd6..7b6e97ab 100644 --- a/doc/bird.sgml +++ b/doc/bird.sgml @@ -79,6 +79,7 @@ protocols to be incorporated easily. Among other features, BIRD supports: <item>the Border Gateway Protocol (BGPv4) <item>the Routing Information Protocol (RIPv2) <item>the Open Shortest Path First protocol (OSPFv2, OSPFv3) + <item>the Router Advertisements for IPv6 hosts <item>a virtual protocol for exchange of routes between different routing tables on a single host <item>a command-line interface allowing on-line control and inspection of status of the daemon @@ -385,7 +386,8 @@ to zero to disable it. An empty <cf><m/switch/</cf> is equivalent to <cf/on/ commas), each clause may contain a mask, a prefix, or both of them. An interface matches the clause if its name matches the mask (if specified) and its address matches the prefix (if specified). Mask is - specified as shell-like pattern. + specified as shell-like pattern. For IPv6, the prefix part of a clause + is generally ignored and interfaces are matched just by their name. An interface matches the pattern if it matches any of its clauses. If the clause begins with <cf/-/, matching interfaces are @@ -397,7 +399,7 @@ to zero to disable it. An empty <cf><m/switch/</cf> is equivalent to <cf/on/ interfaces-specific options, in that case for given interface the first matching interface option is used. - This option is allowed in Direct, OSPF and RIP protocols, + This option is allowed in Direct, OSPF, RIP and RAdv protocols, but in OSPF protocol it is used in <cf/area/ subsection. Default: none. @@ -1293,7 +1295,7 @@ with `<tt/O/') are optional. protocol bgp { local as 65000; # Use a private AS number neighbor 62.168.0.130 as 5588; # Our neighbor ... - multihop 20 via 62.168.0.13; # ... which is connected indirectly + multihop; # ... which is connected indirectly export filter { # We use non-trivial export rules if source = RTS_STATIC then { # Export only static routes # Assign our community @@ -1516,7 +1518,7 @@ that each router detects all changes. <sect1>Configuration <p>In the main part of configuration, there can be multiple definitions of -OSPF area witch different id included. These definitions includes many other +OSPF areas, each with a different id. These definitions includes many other switches and multiple definitions of interfaces. Definition of interface may contain many switches and constant definitions and list of neighbors on nonbroadcast networks. @@ -1967,6 +1969,149 @@ protocol pipe { # The Pipe } </code> +<sect>RAdv + +<sect1>Introduction + +<p>The RAdv protocol is an implementation of Router Advertisements, +which are used in the IPv6 stateless autoconfiguration. IPv6 routers +send (in irregular time intervals or as an answer to a request) +advertisement packets to connected networks. These packets contain +basic information about a local network (e.g. a list of network +prefixes), which allows network hosts to autoconfigure network +addresses and choose a default route. BIRD implements router behavior +as defined in RFC 4861<htmlurl url="ftp://ftp.rfc-editor.org/in-notes/rfc4861.txt">. + +<sect1>Configuration + +<p>There are two classes of definitions in RAdv configuration -- +interface definitions and prefix definitions: + +<descrip> + <tag>interface <m/pattern [, ...]/ { <m/options/ }</tag> + Interface definitions specify a set of interfaces on which the + protocol is activated and contain interface specific options. + See <ref id="dsc-iface" name="interface"> common options for + detailed description. + + <tag>prefix <m/prefix/ { <m/options/ }</tag> + Prefix definitions allows to modify a list of advertised + prefixes. By default, the advertised prefixes are the same as + the network prefixes assigned to the interface. For each + network prefix, the matching prefix definition is found and + its options are used. If no matching prefix definition is + found, the prefix is used with default options. + + Prefix definitions can be either global or interface-specific. + The second ones are part of interface options. The prefix + definition matching is done in the first-match style, when + interface-specific definitions are processed before global + definitions. As expected, the prefix definition is matching if + the network prefix is a subnet of the prefix in prefix + definition. +</descrip> + +<p>Interface specific options: + +<descrip> + <tag>max ra interval <m/expr/</tag> + Unsolicited router advertisements are sent in irregular time + intervals. This option specifies the maximum length of these + intervals, in seconds. Valid values are 4-1800. Default: 600 + + <tag>min ra interval <m/expr/</tag> + This option specifies the minimum length of that intervals, in + seconds. Must be at least 3 and at most 3/4 * max ra interval. + Default: about 1/3 * max ra interval. + + <tag>min delay <m/expr/</tag> + The minimum delay between two consecutive router advertisements, + in seconds. Default: 3 + + <tag>managed <m/switch/</tag> + This option specifies whether hosts should use DHCPv6 for + IP address configuration. Default: no + + <tag>other config <m/switch/</tag> + This option specifies whether hosts should use DHCPv6 to + receive other configuration information. Default: no + + <tag>link mtu <m/expr/</tag> + This option specifies which value of MTU should be used by + hosts. 0 means unspecified. Default: 0 + + <tag>reachable time <m/expr/</tag> + This option specifies the time (in milliseconds) how long + hosts should assume a neighbor is reachable (from the last + confirmation). Maximum is 3600000, 0 means unspecified. + Default 0. + + <tag>retrans timer <m/expr/</tag> + This option specifies the time (in milliseconds) how long + hosts should wait before retransmitting Neighbor Solicitation + messages. 0 means unspecified. Default 0. + + <tag>current hop limit <m/expr/</tag> + This option specifies which value of Hop Limit should be used + by hosts. Valid values are 0-255, 0 means unspecified. Default: 64 + + <tag>default lifetime <m/expr/</tag> + This option specifies the time (in seconds) how long (after + the receipt of RA) hosts may use the router as a default + router. 0 means do not use as a default router. Default: 3 * + max ra interval. +</descrip> + + +<p>Prefix specific options: + +<descrip> + <tag>onlink <m/switch/</tag> + This option specifies whether hosts may use the advertised + prefix for onlink determination. Default: yes + + <tag>autonomous <m/switch/</tag> + This option specifies whether hosts may use the advertised + prefix for stateless autoconfiguration. Default: yes + + <tag>valid lifetime <m/expr/</tag> + This option specifies the time (in seconds) how long (after + the receipt of RA) the prefix information is valid, i.e., + autoconfigured IP addresses can be assigned and hosts with + that IP addresses are considered directly reachable. 0 means + the prefix is no longer valid. Default: 86400 (1 day) + + <tag>preferred lifetime <m/expr/</tag> + This option specifies the time (in seconds) how long (after + the receipt of RA) IP addresses generated from the prefix + using stateless autoconfiguration remain preferred. Default: + 14400 (4 hours) +</descrip> + +<sect1>Example + +<p><code> +protocol radv { + interface "eth2" { + max ra interval 5; # Fast failover with more routers + managed yes; # Using DHCPv6 on eth2 + prefix ::/0 { + autonomous off; # So do not autoconfigure any IP + }; + }; + + interface "eth*"; # No need for any other options + + prefix 2001:0DB8:1234::/48 { + preferred lifetime 0; # Deprecated address range + }; + + prefix 2001:0DB8:2000::/48 { + autonomous off; # Do not autoconfigure + }; +} +</code> + <sect>RIP <sect1>Introduction |