Annotation of embedaddon/quagga/doc/main.texi, revision 1.1.1.1

1.1       misho       1: @node Zebra
                      2: @chapter Zebra
                      3: 
                      4: @c SYNOPSIS
                      5: @command{zebra} is an IP routing manager.  It provides kernel routing
                      6: table updates, interface lookups, and redistribution of routes between
                      7: different routing protocols.
                      8: 
                      9: @menu
                     10: * Invoking zebra::              Running the program
                     11: * Interface Commands::          Commands for zebra interfaces
                     12: * Static Route Commands::       Commands for adding static routes
                     13: * zebra Route Filtering::       Commands for zebra route filtering
                     14: * zebra Terminal Mode Commands::  Commands for zebra's VTY
                     15: @end menu
                     16: 
                     17: 
                     18: @node Invoking zebra
                     19: @section Invoking zebra
                     20: 
                     21: Besides the common invocation options (@pxref{Common Invocation Options}), the
                     22: @command{zebra} specific invocation options are listed below.
                     23: 
                     24: @table @samp
                     25: @item -b
                     26: @itemx --batch
                     27: Runs in batch mode.  @command{zebra} parses configuration file and terminates
                     28: immediately.
                     29: 
                     30: @item -k
                     31: @itemx --keep_kernel
                     32: When zebra starts up, don't delete old self inserted routes.
                     33: 
                     34: @item -r
                     35: @itemx --retain
                     36: When program terminates, retain routes added by zebra.
                     37: 
                     38: @end table
                     39: 
                     40: @node Interface Commands
                     41: @section Interface Commands
                     42: 
                     43: @deffn Command {interface @var{ifname}} {}
                     44: @end deffn
                     45: 
                     46: @deffn {Interface Command} {shutdown} {}
                     47: @deffnx {Interface Command} {no shutdown} {}
                     48: Up or down the current interface.
                     49: @end deffn
                     50: 
                     51: @deffn {Interface Command} {ip address @var{address/prefix}} {}
                     52: @deffnx {Interface Command} {ipv6 address @var{address/prefix}} {}
                     53: @deffnx {Interface Command} {no ip address @var{address/prefix}} {}
                     54: @deffnx {Interface Command} {no ipv6 address @var{address/prefix}} {}
                     55: Set the IPv4 or IPv6 address/prefix for the interface.
                     56: @end deffn
                     57: 
                     58: @deffn {Interface Command} {ip address @var{address/prefix} secondary} {}
                     59: @deffnx {Interface Command} {no ip address @var{address/prefix} secondary} {}
                     60: Set the secondary flag for this address. This causes ospfd to not treat the
                     61: address as a distinct subnet.
                     62: @end deffn
                     63: 
                     64: @deffn {Interface Command} {description @var{description} ...} {}
                     65: Set description for the interface.
                     66: @end deffn
                     67: 
                     68: @deffn {Interface Command} {multicast} {}
                     69: @deffnx {Interface Command} {no multicast} {}
                     70: Enable or disables multicast flag for the interface.
                     71: @end deffn
                     72: 
                     73: @deffn {Interface Command} {bandwidth <1-10000000>} {}
                     74: @deffnx {Interface Command} {no bandwidth <1-10000000>} {}
                     75: Set bandwidth value of the interface in kilobits/sec.  This is for 
                     76: calculating OSPF cost. This command does not affect the actual device 
                     77: configuration.
                     78: @end deffn
                     79: 
                     80: @deffn {Interface Command} {link-detect} {}
                     81: @deffnx {Interface Command} {no link-detect} {}
                     82: Enable/disable link-detect on platforms which support this. Currently 
                     83: only Linux and Solaris, and only where network interface drivers support reporting
                     84: link-state via the IFF_RUNNING flag.
                     85: @end deffn
                     86: 
                     87: @node Static Route Commands
                     88: @section Static Route Commands
                     89: 
                     90: Static routing is a very fundamental feature of routing technology.  It
                     91: defines static prefix and gateway.
                     92: 
                     93: @deffn Command {ip route @var{network} @var{gateway}} {}
                     94: @var{network} is destination prefix with format of A.B.C.D/M.
                     95: @var{gateway} is gateway for the prefix.  When @var{gateway} is
                     96: A.B.C.D format.  It is taken as a IPv4 address gateway.  Otherwise it
                     97: is treated as an interface name. If the interface name is @var{null0} then
                     98: zebra installs a blackhole route.
                     99: 
                    100: @example
                    101: ip route 10.0.0.0/8 10.0.0.2
                    102: ip route 10.0.0.0/8 ppp0
                    103: ip route 10.0.0.0/8 null0
                    104: @end example
                    105: 
                    106: First example defines 10.0.0.0/8 static route with gateway 10.0.0.2.
                    107: Second one defines the same prefix but with gateway to interface ppp0. The
                    108: third install a blackhole route.
                    109: @end deffn
                    110: 
                    111: @deffn Command {ip route @var{network} @var{netmask} @var{gateway}} {}
                    112: This is alternate version of above command.  When @var{network} is
                    113: A.B.C.D format, user must define @var{netmask} value with A.B.C.D
                    114: format.  @var{gateway} is same option as above command
                    115: 
                    116: @example
                    117: ip route 10.0.0.0 255.255.255.0 10.0.0.2
                    118: ip route 10.0.0.0 255.255.255.0 ppp0
                    119: ip route 10.0.0.0 255.255.255.0 null0
                    120: @end example
                    121: 
                    122: These statements are equivalent to those in the previous example.
                    123: @end deffn
                    124: 
                    125: @deffn Command {ip route @var{network} @var{gateway} @var{distance}} {}
                    126: Installs the route with the specified distance.
                    127: @end deffn
                    128: 
                    129: Multiple nexthop static route
                    130: 
                    131: @example
                    132: ip route 10.0.0.1/32 10.0.0.2
                    133: ip route 10.0.0.1/32 10.0.0.3
                    134: ip route 10.0.0.1/32 eth0
                    135: @end example
                    136: 
                    137: If there is no route to 10.0.0.2 and 10.0.0.3, and interface eth0
                    138: is reachable, then the last route is installed into the kernel.
                    139: 
                    140: If zebra has been compiled with multipath support, and both 10.0.0.2 and
                    141: 10.0.0.3 are reachable, zebra will install a multipath route via both
                    142: nexthops, if the platform supports this.
                    143: 
                    144: @example
                    145: zebra> show ip route
                    146: S>  10.0.0.1/32 [1/0] via 10.0.0.2 inactive
                    147:                       via 10.0.0.3 inactive
                    148:   *                   is directly connected, eth0
                    149: @end example
                    150: 
                    151: @example
                    152: ip route 10.0.0.0/8 10.0.0.2
                    153: ip route 10.0.0.0/8 10.0.0.3
                    154: ip route 10.0.0.0/8 null0 255
                    155: @end example
                    156: 
                    157: This will install a multihop route via the specified next-hops if they are
                    158: reachable, as well as a high-metric blackhole route, which can be useful to
                    159: prevent traffic destined for a prefix to match less-specific routes (eg
                    160: default) should the specified gateways not be reachable. Eg:
                    161: 
                    162: @example
                    163: zebra> show ip route 10.0.0.0/8             
                    164: Routing entry for 10.0.0.0/8
                    165:   Known via "static", distance 1, metric 0
                    166:     10.0.0.2 inactive
                    167:     10.0.0.3 inactive
                    168: 
                    169: Routing entry for 10.0.0.0/8
                    170:   Known via "static", distance 255, metric 0
                    171:     directly connected, Null0
                    172: @end example
                    173: 
                    174: @deffn Command {ipv6 route @var{network} @var{gateway}} {}
                    175: @deffnx Command {ipv6 route @var{network} @var{gateway} @var{distance}} {}
                    176: These behave similarly to their ipv4 counterparts.
                    177: @end deffn
                    178: 
                    179: 
                    180: @deffn Command {table @var{tableno}} {}
                    181: Select the primary kernel routing table to be used.  This only works
                    182: for kernels supporting multiple routing tables (like GNU/Linux 2.2.x
                    183: and later).  After setting @var{tableno} with this command, 
                    184: static routes defined after this are added to the specified table.
                    185: @end deffn
                    186: 
                    187: @node zebra Route Filtering
                    188: @section zebra Route Filtering
                    189: Zebra supports @command{prefix-list} and @command{route-map} to match
                    190: routes received from other quagga components.  The
                    191: @command{permit}/@command{deny} facilities provided by these commands
                    192: can be used to filter which routes zebra will install in the kernel.
                    193: 
                    194: @deffn Command {ip protocol @var{protocol} route-map @var{routemap}} {}
                    195: Apply a route-map filter to routes for the specified protocol. @var{protocol}
                    196: can be @b{any} or one of
                    197: @b{system},
                    198: @b{kernel},
                    199: @b{connected},
                    200: @b{static},
                    201: @b{rip},
                    202: @b{ripng},
                    203: @b{ospf},
                    204: @b{ospf6},
                    205: @b{isis},
                    206: @b{bgp},
                    207: @b{hsls}.
                    208: @end deffn
                    209: 
                    210: @deffn {Route Map} {set src @var{address}}
                    211: Within a route-map, set the preferred source address for matching routes
                    212: when installing in the kernel.
                    213: @end deffn
                    214: 
                    215: @example
                    216: The following creates a prefix-list that matches all addresses, a route-map
                    217: that sets the preferred source address, and applies the route-map to all
                    218: @command{rip} routes.
                    219: 
                    220: @group
                    221: ip prefix-list ANY permit 0.0.0.0/0 le 32
                    222: route-map RM1 permit 10
                    223:      match ip address prefix-list ANY
                    224:      set src 10.0.0.1
                    225: 
                    226: ip protocol rip route-map RM1
                    227: @end group
                    228: @end example
                    229: 
                    230: @node zebra Terminal Mode Commands
                    231: @section zebra Terminal Mode Commands
                    232: 
                    233: @deffn Command {show ip route} {}
                    234: Display current routes which zebra holds in its database.
                    235: 
                    236: @example
                    237: @group
                    238: Router# show ip route 
                    239: Codes: K - kernel route, C - connected, S - static, R - RIP, 
                    240:        B - BGP * - FIB route.
                    241: 
                    242: K* 0.0.0.0/0              203.181.89.241
                    243: S  0.0.0.0/0              203.181.89.1
                    244: C* 127.0.0.0/8            lo
                    245: C* 203.181.89.240/28      eth0
                    246: @end group
                    247: @end example
                    248: @end deffn
                    249: 
                    250: @deffn Command {show ipv6 route} {}
                    251: @end deffn
                    252: 
                    253: @deffn Command {show interface} {}
                    254: @end deffn
                    255: 
                    256: @deffn Command {show ip prefix-list [@var{name}]} {}
                    257: @end deffn
                    258: 
                    259: @deffn Command {show route-map [@var{name}]} {}
                    260: @end deffn
                    261: 
                    262: @deffn Command {show ip protocol} {}
                    263: @end deffn
                    264: 
                    265: @deffn Command {show ipforward} {}
                    266: Display whether the host's IP forwarding function is enabled or not.
                    267: Almost any UNIX kernel can be configured with IP forwarding disabled.
                    268: If so, the box can't work as a router.
                    269: @end deffn
                    270: 
                    271: @deffn Command {show ipv6forward} {}
                    272: Display whether the host's IP v6 forwarding is enabled or not.
                    273: @end deffn

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