blob: 7043bf143689b20c946060f957e094174e0c9273 [file] [log] [blame]
@node Zebra
@comment node-name, next, previous, up
@chapter Zebra
@c SYNOPSIS
@command{zebra} is an IP routing manager. It provides kernel routing
table updates, interface lookups, and redistribution of routes between
different routing protocols.
@menu
* Invoking zebra:: Running the program
* Interface Commands:: Commands for zebra interfaces
* Static Route Commands:: Commands for adding static routes
* zebra Terminal Mode Commands:: Commands for zebra's VTY
@end menu
@node Invoking zebra, Interface Commands, Zebra, Zebra
@comment node-name, next, previous, up
@section Invoking zebra
Besides the common invocation options (@pxref{Common Invocation Options}), the
@command{zebra} specific invocation options are listed below.
@table @samp
@item -b
@itemx --batch
Runs in batch mode. @command{zebra} parses configuration file and terminates
immediately.
@item -k
@itemx --keep_kernel
When zebra starts up, don't delete old self inserted routes.
@item -l
@itemx --log_mode
Set verbose logging on.
@item -r
@itemx --retain
When program terminates, retain routes added by zebra.
@end table
@node Interface Commands, Static Route Commands, Invoking zebra, Zebra
@comment node-name, next, previous, up
@section Interface Commands
@deffn Command {interface @var{ifname}} {}
@end deffn
@deffn {Interface Command} {shutdown} {}
@deffnx {Interface Command} {no shutdown} {}
Up or down the current interface.
@end deffn
@deffn {Interface Command} {ip address @var{address}} {}
Set ip address for the interface.
@end deffn
@deffn {Interface Command} {description @var{description} ...} {}
Set description for the interface.
@end deffn
@deffn {Interface Command} {multicast} {}
@deffnx {Interface Command} {no multicast} {}
Enable or disables multicast flag for the interface.
@end deffn
@deffn {Interface Command} {bandwidth <1-10000000>} {}
@deffnx {Interface Command} {no bandwidth <1-10000000>} {}
Set bandwidth value to the interface. This is for calculating OSPF
cost. This command does not affect the actual device configuration.
@end deffn
@node Static Route Commands, zebra Terminal Mode Commands, Interface Commands, Zebra
@comment node-name, next, previous, up
@section Static Route Commands
Static routing is a very fundamental feature of routing technology. It
defines static prefix and gateway.
@deffn Command {ip route @var{network} @var{gateway}} {}
@var{network} is destination prefix with format of A.B.C.D/M.
@var{gateway} is gateway for the prefix. When @var{gateway} is
A.B.C.D format. It is taken as a IPv4 address gateway. Otherwise it
is treated as an interface name.
@example
ip route 10.0.0.0/8 10.0.0.2
ip route 10.0.0.0/8 ppp0
@end example
First example defines 10.0.0.0/8 static route with gateway 10.0.0.2.
Second one defines the same prefix but with gateway to interface ppp0.
@end deffn
@deffn Command {ip route @var{network} @var{netmask} @var{gateway}} {}
This is alternate version of above command. When @var{network} is
A.B.C.D format, user must define @var{netmask} value with A.B.C.D
format. @var{gateway} is same option as above command
@example
ip route 10.0.0.0 255.255.255.0 10.0.0.2
ip route 10.0.0.0 255.255.255.0 ppp0
@end example
This is a same setting using this statement.
@end deffn
@deffn Command {ip route @var{network} @var{gateway} @var{distance}} {}
@end deffn
Multiple nexthop static route
@example
ip route 10.0.0.1/32 10.0.0.2
ip route 10.0.0.1/32 10.0.0.3
ip route 10.0.0.1/32 eth0
@end example
If there is no route to 10.0.0.2 and 10.0.0.3, and interface eth0
is reachable, then the last route is installed into the kernel.
@example
zebra> show ip route
S> 10.0.0.1/32 [1/0] via 10.0.0.2 inactive
via 10.0.0.3 inactive
* is directly connected, eth0
@end example
Floating static route
@deffn Command {ipv6 route @var{network} @var{gateway}} {}
@end deffn
@deffn Command {ipv6 route @var{network} @var{gateway} @var{distance}} {}
@end deffn
@deffn Command {table @var{tableno}} {}
Select the primary kernel routing table to be used. This only works
for kernels supporting multiple routing tables (like GNU/Linux 2.2.x
and later). After setting @var{tableno} with this command,
static routes defined after this are added to the specified table.
@end deffn
@node zebra Terminal Mode Commands, , Static Route Commands, Zebra
@comment node-name, next, previous, up
@section zebra Terminal Mode Commands
@deffn Command {show ip route} {}
Display current routes which zebra holds in its database.
@example
@group
Router# show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP,
B - BGP * - FIB route.
K* 0.0.0.0/0 203.181.89.241
S 0.0.0.0/0 203.181.89.1
C* 127.0.0.0/8 lo
C* 203.181.89.240/28 eth0
@end group
@end example
@end deffn
@deffn Command {show ipv6 route} {}
@end deffn
@deffn Command {show interface} {}
@end deffn
@deffn Command {show ipforward} {}
Display whether the host's IP forwarding function is enabled or not.
Almost any UNIX kernel can be configured with IP forwarding disabled.
If so, the box can't work as a router.
@end deffn
@deffn Command {show ipv6forward} {}
Display whether the host's IP v6 forwarding is enabled or not.
@end deffn