Diff for /embedaddon/quagga/doc/main.texi between versions 1.1 and 1.1.1.3

version 1.1, 2012/02/21 17:26:11 version 1.1.1.3, 2016/11/02 10:09:11
Line 10  different routing protocols. Line 10  different routing protocols.
 * Invoking zebra::              Running the program  * Invoking zebra::              Running the program
 * Interface Commands::          Commands for zebra interfaces  * Interface Commands::          Commands for zebra interfaces
 * Static Route Commands::       Commands for adding static routes  * Static Route Commands::       Commands for adding static routes
   * Multicast RIB Commands::      Commands for controlling MRIB behavior
 * zebra Route Filtering::       Commands for zebra route filtering  * zebra Route Filtering::       Commands for zebra route filtering
   * zebra FIB push interface::    Interface to optional FPM component
 * zebra Terminal Mode Commands::  Commands for zebra's VTY  * zebra Terminal Mode Commands::  Commands for zebra's VTY
 @end menu  @end menu
   
Line 184  and later).  After setting @var{tableno} with this com Line 186  and later).  After setting @var{tableno} with this com
 static routes defined after this are added to the specified table.  static routes defined after this are added to the specified table.
 @end deffn  @end deffn
   
   @node Multicast RIB Commands
   @section Multicast RIB Commands
   
   The Multicast RIB provides a separate table of unicast destinations which
   is used for Multicast Reverse Path Forwarding decisions.  It is used with
   a multicast source's IP address, hence contains not multicast group
   addresses but unicast addresses.
   
   This table is fully separate from the default unicast table.  However,
   RPF lookup can include the unicast table.
   
   WARNING: RPF lookup results are non-responsive in this version of Quagga,
   i.e. multicast routing does not actively react to changes in underlying
   unicast topology!
   
   @deffn Command {ip multicast rpf-lookup-mode @var{mode}} {}
   @deffnx Command {no ip multicast rpf-lookup-mode [@var{mode}]} {}
   
   @var{mode} sets the method used to perform RPF lookups.  Supported modes:
   
   @table @samp
   @item urib-only
   Performs the lookup on the Unicast RIB.  The Multicast RIB is never used.
   @item mrib-only
   Performs the lookup on the Multicast RIB.  The Unicast RIB is never used.
   @item mrib-then-urib
   Tries to perform the lookup on the Multicast RIB.  If any route is found,
   that route is used.  Otherwise, the Unicast RIB is tried.
   @item lower-distance
   Performs a lookup on the Multicast RIB and Unicast RIB each.  The result
   with the lower administrative distance is used;  if they're equal, the
   Multicast RIB takes precedence.
   @item longer-prefix
   Performs a lookup on the Multicast RIB and Unicast RIB each.  The result
   with the longer prefix length is used;  if they're equal, the
   Multicast RIB takes precedence.
   @end table
   
   The @code{mrib-then-urib} setting is the default behavior if nothing is
   configured.  If this is the desired behavior, it should be explicitly
   configured to make the configuration immune against possible changes in
   what the default behavior is.
   
   WARNING: Unreachable routes do not receive special treatment and do not
   cause fallback to a second lookup.
   @end deffn
   
   @deffn Command {show ip rpf @var{addr}} {}
   
   Performs a Multicast RPF lookup, as configured with
   @command{ip multicast rpf-lookup-mode @var{mode}}.  @var{addr} specifies
   the multicast source address to look up.
   
   @example
   > show ip rpf 192.0.2.1
   Routing entry for 192.0.2.0/24 using Unicast RIB
     Known via "kernel", distance 0, metric 0, best
     * 198.51.100.1, via eth0
   @end example
   
   Indicates that a multicast source lookup for 192.0.2.1 would use an
   Unicast RIB entry for 192.0.2.0/24 with a gateway of 198.51.100.1.
   @end deffn
   
   @deffn Command {show ip rpf} {}
   
   Prints the entire Multicast RIB.  Note that this is independent of the
   configured RPF lookup mode, the Multicast RIB may be printed yet not
   used at all.
   @end deffn
   
   @deffn Command {ip mroute @var{prefix} @var{nexthop} [@var{distance}]} {}
   @deffnx Command {no ip mroute @var{prefix} @var{nexthop} [@var{distance}]} {}
   
   Adds a static route entry to the Multicast RIB.  This performs exactly as
   the @command{ip route} command, except that it inserts the route in the
   Multicast RIB instead of the Unicast RIB.
   @end deffn
   
   
 @node zebra Route Filtering  @node zebra Route Filtering
 @section zebra Route Filtering  @section zebra Route Filtering
 Zebra supports @command{prefix-list} and @command{route-map} to match  Zebra supports @command{prefix-list} and @command{route-map} to match
Line 227  ip protocol rip route-map RM1 Line 309  ip protocol rip route-map RM1
 @end group  @end group
 @end example  @end example
   
   @node zebra FIB push interface
   @section zebra FIB push interface
   
   Zebra supports a 'FIB push' interface that allows an external
   component to learn the forwarding information computed by the Quagga
   routing suite.
   
   In Quagga, the Routing Information Base (RIB) resides inside
   zebra. Routing protocols communicate their best routes to zebra, and
   zebra computes the best route across protocols for each prefix. This
   latter information makes up the Forwarding Information Base
   (FIB). Zebra feeds the FIB to the kernel, which allows the IP stack in
   the kernel to forward packets according to the routes computed by
   Quagga. The kernel FIB is updated in an OS-specific way. For example,
   the @code{netlink} interface is used on Linux, and route sockets are
   used on FreeBSD.
   
   The FIB push interface aims to provide a cross-platform mechanism to
   support scenarios where the router has a forwarding path that is
   distinct from the kernel, commonly a hardware-based fast path. In
   these cases, the FIB needs to be maintained reliably in the fast path
   as well. We refer to the component that programs the forwarding plane
   (directly or indirectly) as the Forwarding Plane Manager or FPM.
   
   The FIB push interface comprises of a TCP connection between zebra and
   the FPM. The connection is initiated by zebra -- that is, the FPM acts
   as the TCP server.
   
   The relevant zebra code kicks in when zebra is configured with the
   @code{--enable-fpm} flag. Zebra periodically attempts to connect to
   the well-known FPM port. Once the connection is up, zebra starts
   sending messages containing routes over the socket to the FPM. Zebra
   sends a complete copy of the forwarding table to the FPM, including
   routes that it may have picked up from the kernel. The existing
   interaction of zebra with the kernel remains unchanged -- that is, the
   kernel continues to receive FIB updates as before.
   
   The format of the messages exchanged with the FPM is defined by the
   file @file{fpm/fpm.h} in the quagga tree.
   
   The zebra FPM interface uses replace semantics. That is, if a 'route
   add' message for a prefix is followed by another 'route add' message,
   the information in the second message is complete by itself, and
   replaces the information sent in the first message.
   
   If the connection to the FPM goes down for some reason, zebra sends
   the FPM a complete copy of the forwarding table(s) when it reconnects.
   
 @node zebra Terminal Mode Commands  @node zebra Terminal Mode Commands
 @section zebra Terminal Mode Commands  @section zebra Terminal Mode Commands
   
Line 270  If so, the box can't work as a router. Line 400  If so, the box can't work as a router.
   
 @deffn Command {show ipv6forward} {}  @deffn Command {show ipv6forward} {}
 Display whether the host's IP v6 forwarding is enabled or not.  Display whether the host's IP v6 forwarding is enabled or not.
   @end deffn
   
   @deffn Command {show zebra fpm stats} {}
   Display statistics related to the zebra code that interacts with the
   optional Forwarding Plane Manager (FPM) component.
   @end deffn
   
   @deffn Command {clear zebra fpm stats} {}
   Reset statistics related to the zebra code that interacts with the
   optional Forwarding Plane Manager (FPM) component.
 @end deffn  @end deffn

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


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