mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-30 00:19:28 +00:00
doc: Add some documentation for staticd
Remove the ip route specific sections from zebra documenation and create a specific one for the new staticd. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
88a9001659
commit
614aa5c166
@ -86,6 +86,10 @@ if SHARPD
|
|||||||
man_MANS += $(MANPAGE_BUILDDIR)/sharpd.8
|
man_MANS += $(MANPAGE_BUILDDIR)/sharpd.8
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if STATICD
|
||||||
|
man_MANS += $(MANPAGE_BUILDDIR)/staticd.8
|
||||||
|
endif
|
||||||
|
|
||||||
# Automake is particular about manpages. It is aware of them and has some
|
# Automake is particular about manpages. It is aware of them and has some
|
||||||
# special facilities for handling them, but it assumes that manpages are always
|
# special facilities for handling them, but it assumes that manpages are always
|
||||||
# given in groff source and so these facilities are limited to simply
|
# given in groff source and so these facilities are limited to simply
|
||||||
@ -151,6 +155,7 @@ EXTRA_DIST = frr-sphinx.mk \
|
|||||||
manpages/pbrd.rst \
|
manpages/pbrd.rst \
|
||||||
manpages/ripngd.rst \
|
manpages/ripngd.rst \
|
||||||
manpages/sharpd.rst \
|
manpages/sharpd.rst \
|
||||||
|
manpages/staticd.rst \
|
||||||
manpages/vtysh.rst \
|
manpages/vtysh.rst \
|
||||||
manpages/watchfrr.rst \
|
manpages/watchfrr.rst \
|
||||||
manpages/zebra.rst \
|
manpages/zebra.rst \
|
||||||
@ -224,6 +229,7 @@ EXTRA_DIST = frr-sphinx.mk \
|
|||||||
user/sharp.rst \
|
user/sharp.rst \
|
||||||
user/snmp.rst \
|
user/snmp.rst \
|
||||||
user/snmptrap.rst \
|
user/snmptrap.rst \
|
||||||
|
user/static.rst \
|
||||||
user/Useful_Sysctl_Settings.md \
|
user/Useful_Sysctl_Settings.md \
|
||||||
user/vnc.rst \
|
user/vnc.rst \
|
||||||
user/vtysh.rst \
|
user/vtysh.rst \
|
||||||
|
@ -123,6 +123,7 @@ These following options control the daemon's VTY (interactive command line) inte
|
|||||||
ldpd 2612
|
ldpd 2612
|
||||||
eigrpd 2613
|
eigrpd 2613
|
||||||
pbrd 2615
|
pbrd 2615
|
||||||
|
staticd 2616
|
||||||
|
|
||||||
Port 2607 is used for ospfd's Opaque LSA API, while port 2600 is used for the (insecure) TCP-ZEBRA interface.
|
Port 2607 is used for ospfd's Opaque LSA API, while port 2600 is used for the (insecure) TCP-ZEBRA interface.
|
||||||
|
|
||||||
|
@ -324,6 +324,7 @@ man_pages = [
|
|||||||
('pimd', 'pimd', fwfrr.format("a PIM "), [], 8),
|
('pimd', 'pimd', fwfrr.format("a PIM "), [], 8),
|
||||||
('pbrd', 'pbrd', fwfrr.format("a PBR "), [], 8),
|
('pbrd', 'pbrd', fwfrr.format("a PBR "), [], 8),
|
||||||
('sharpd', 'sharpd', fwfrr.format("a SHARP "), [], 8),
|
('sharpd', 'sharpd', fwfrr.format("a SHARP "), [], 8),
|
||||||
|
('staticd', 'staticd', fwfrr.format("a static route manager "), [], 8),
|
||||||
('mtracebis', 'mtracebis', "a multicast trace client", [], 8),
|
('mtracebis', 'mtracebis', "a multicast trace client", [], 8),
|
||||||
('ripd', 'ripd', fwfrr.format("a RIP "), [], 8),
|
('ripd', 'ripd', fwfrr.format("a RIP "), [], 8),
|
||||||
('ripngd', 'ripngd', fwfrr.format("a RIPNG "), [], 8),
|
('ripngd', 'ripngd', fwfrr.format("a RIPNG "), [], 8),
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
.. |synopsis-options| replace:: [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]
|
.. |synopsis-options| replace:: [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]
|
||||||
.. |synopsis-options-hv| replace:: [-h] [-v]
|
.. |synopsis-options-hv| replace:: [-h] [-v]
|
||||||
.. |seealso-programs| replace:: zebra(8), vtysh(1), ripd(8), ripngd(8), ospfd(8), ospf6d(8), bgpd(8), isisd(8), babeld(8), nhrpd(8), pimd(8), pbrd(8), ldpd(8), eigrpd(8), mtracebis(8)
|
.. |seealso-programs| replace:: zebra(8), vtysh(1), ripd(8), ripngd(8), ospfd(8), ospf6d(8), bgpd(8), isisd(8), babeld(8), nhrpd(8), pimd(8), pbrd(8), ldpd(8), eigrpd(8), staticd(8), mtracebis(8)
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
ripd
|
ripd
|
||||||
ripngd
|
ripngd
|
||||||
sharpd
|
sharpd
|
||||||
|
staticd
|
||||||
watchfrr
|
watchfrr
|
||||||
zebra
|
zebra
|
||||||
vtysh
|
vtysh
|
||||||
|
38
doc/manpages/staticd.rst
Normal file
38
doc/manpages/staticd.rst
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
*******
|
||||||
|
STATICD
|
||||||
|
*******
|
||||||
|
|
||||||
|
.. include:: defines.rst
|
||||||
|
.. |DAEMON| replace:: staticd
|
||||||
|
|
||||||
|
SYNOPSIS
|
||||||
|
========
|
||||||
|
|DAEMON| |synopsis-options-hv|
|
||||||
|
|
||||||
|
|DAEMON| |synopsis-options|
|
||||||
|
|
||||||
|
DESCRIPTION
|
||||||
|
===========
|
||||||
|
|DAEMON| is a routing component that works with the FRRouting engine.
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
=======
|
||||||
|
OPTIONS available for the |DAEMON| command:
|
||||||
|
|
||||||
|
.. include:: common-options.rst
|
||||||
|
|
||||||
|
FILES
|
||||||
|
=====
|
||||||
|
|
||||||
|
|INSTALL_PREFIX_SBIN|/|DAEMON|
|
||||||
|
The default location of the |DAEMON| binary.
|
||||||
|
|
||||||
|
|INSTALL_PREFIX_ETC|/|DAEMON|.conf
|
||||||
|
The default location of the |DAEMON| config file.
|
||||||
|
|
||||||
|
$(PWD)/|DAEMON|.log
|
||||||
|
If the |DAEMON| process is configured to output logs to a file, then you will find this file in the directory where you started |DAEMON|.
|
||||||
|
|
||||||
|
.. include:: epilogue.rst
|
||||||
|
|
||||||
|
|
@ -52,6 +52,7 @@ Protocols
|
|||||||
ripd
|
ripd
|
||||||
ripngd
|
ripngd
|
||||||
sharp
|
sharp
|
||||||
|
static
|
||||||
vnc
|
vnc
|
||||||
|
|
||||||
########
|
########
|
||||||
|
@ -29,6 +29,7 @@ systemd. The file initially looks like this:
|
|||||||
eigrpd=no
|
eigrpd=no
|
||||||
babeld=no
|
babeld=no
|
||||||
sharpd=no
|
sharpd=no
|
||||||
|
staticd=no
|
||||||
pbrd=no
|
pbrd=no
|
||||||
|
|
||||||
To enable a particular daemon, simply change the corresponding 'no' to 'yes'.
|
To enable a particular daemon, simply change the corresponding 'no' to 'yes'.
|
||||||
@ -63,6 +64,7 @@ This file has several parts. Here is an example:
|
|||||||
eigrpd_options=" --daemon -A 127.0.0.1"
|
eigrpd_options=" --daemon -A 127.0.0.1"
|
||||||
babeld_options=" --daemon -A 127.0.0.1"
|
babeld_options=" --daemon -A 127.0.0.1"
|
||||||
sharpd_options=" --daemon -A 127.0.0.1"
|
sharpd_options=" --daemon -A 127.0.0.1"
|
||||||
|
staticd_options=" --daemon -A 127.0.0.1"
|
||||||
pbrd_options=" --daemon -A 127.0.0.1"
|
pbrd_options=" --daemon -A 127.0.0.1"
|
||||||
|
|
||||||
# The list of daemons to watch is automatically generated by the init script.
|
# The list of daemons to watch is automatically generated by the init script.
|
||||||
|
130
doc/user/static.rst
Normal file
130
doc/user/static.rst
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
.. _static:
|
||||||
|
|
||||||
|
******
|
||||||
|
STATIC
|
||||||
|
******
|
||||||
|
|
||||||
|
:abbr:`STATIC` is a daemon that handles the installation and deletion
|
||||||
|
of static routes.
|
||||||
|
|
||||||
|
.. _starting-static:
|
||||||
|
|
||||||
|
Starting STATIC
|
||||||
|
===============
|
||||||
|
|
||||||
|
Default configuration file for *staticd* is :file:`staticd.conf`. The typical
|
||||||
|
location of :file:`staticd.conf` is |INSTALL_PREFIX_ETC|/staticd.conf.
|
||||||
|
|
||||||
|
If the user is using integrated config, then :file:`staticd.conf` need not be
|
||||||
|
present and the :file:`frr.conf` is read instead.
|
||||||
|
|
||||||
|
If the user has not fully upgraded to using the staticd.conf and still has
|
||||||
|
a non-integrated config with zebra.conf holding the static routes, *staticd*
|
||||||
|
will read in the :file:`zebrad.conf` as a backup.
|
||||||
|
|
||||||
|
.. program:: staticd
|
||||||
|
|
||||||
|
:abbr:`STATIC` supports all the common FRR daemon start options which are
|
||||||
|
documented elsewhere.
|
||||||
|
|
||||||
|
.. _static-route-commands:
|
||||||
|
|
||||||
|
Static Route Commands
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Static routing is a very fundamental feature of routing technology. It defines
|
||||||
|
a static prefix and gateway.
|
||||||
|
|
||||||
|
.. index:: ip route NETWORK GATEWAY table TABLENO nexthop-vrf VRFNAME DISTANCE vrf VRFNAME
|
||||||
|
.. clicmd:: ip route NETWORK GATEWAY table TABLENO nexthop-vrf VRFNAME DISTANCE vrf VRFNAME
|
||||||
|
|
||||||
|
.. index:: ipv6 route NETWORK from SRCPREFIX GATEWAY table TABLENO nexthop-vrf VRFNAME DISTANCE vrf VRFNAME
|
||||||
|
.. clicmd:: ipv6 route NETWORK from SRCPREFIX GATEWAY table TABLENO nexthop-vrf VRFNAME DISTANCE vrf VRFNAME
|
||||||
|
|
||||||
|
NETWORK is destination prefix with a valid v4 or v6 network based upon
|
||||||
|
initial form of the command. GATEWAY is gateway for the prefix it currently
|
||||||
|
must match the v4 or v6 route type specified at the start of the command.
|
||||||
|
GATEWAY can also be treated as an interface name. If the interface name
|
||||||
|
is ``null0`` then zebra installs a blackhole route. TABLENO
|
||||||
|
is an optional parameter for namespaces that allows you to create the
|
||||||
|
route in a specified table associated with the vrf namespace. table will
|
||||||
|
be rejected if you are not using namespace based vrfs. ``nexthop-vrf``
|
||||||
|
allows you to create a leaked route with a nexthop in the specified VRFNAME
|
||||||
|
vrf VRFNAME allows you to create the route in a specified vrf.
|
||||||
|
``nexthop-vrf`` cannot be currently used with namespace based vrfs
|
||||||
|
currently as well.
|
||||||
|
The v6 variant allows the installation of a static source-specific route
|
||||||
|
with the SRCPREFIX sub command. These routes are currently supported
|
||||||
|
on Linux operating systems only, and perform AND matching on packet's
|
||||||
|
destination and source addresses in the kernel's forwarding path. Note
|
||||||
|
that destination longest-prefix match is "more important" than source
|
||||||
|
LPM, e.g. ``2001:db8:1::/64 from 2001:db8::/48`` will win over
|
||||||
|
``2001:db8::/48 from 2001:db8:1::/64`` if both match.
|
||||||
|
|
||||||
|
.. _multiple-route-command:
|
||||||
|
|
||||||
|
Multiple nexthop static route
|
||||||
|
=============================
|
||||||
|
|
||||||
|
To create multiple nexthops to the same NETWORK, just reenter the same
|
||||||
|
network statement with different nexthop information.
|
||||||
|
|
||||||
|
.. code-block:: frr
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
If zebra has been compiled with multipath support, and both 10.0.0.2 and
|
||||||
|
10.0.0.3 are reachable, zebra will install a multipath route via both
|
||||||
|
nexthops, if the platform supports this.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
router> 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
|
||||||
|
|
||||||
|
|
||||||
|
.. code-block:: frr
|
||||||
|
|
||||||
|
ip route 10.0.0.0/8 10.0.0.2
|
||||||
|
ip route 10.0.0.0/8 10.0.0.3
|
||||||
|
ip route 10.0.0.0/8 null0 255
|
||||||
|
|
||||||
|
|
||||||
|
This will install a multihop route via the specified next-hops if they are
|
||||||
|
reachable, as well as a high-distance blackhole route, which can be useful to
|
||||||
|
prevent traffic destined for a prefix to match less-specific routes (e.g.
|
||||||
|
default) should the specified gateways not be reachable. E.g.:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
router> show ip route 10.0.0.0/8
|
||||||
|
Routing entry for 10.0.0.0/8
|
||||||
|
Known via "static", distance 1, metric 0
|
||||||
|
10.0.0.2 inactive
|
||||||
|
10.0.0.3 inactive
|
||||||
|
|
||||||
|
Routing entry for 10.0.0.0/8
|
||||||
|
Known via "static", distance 255, metric 0
|
||||||
|
directly connected, Null0
|
||||||
|
|
||||||
|
Also, if the user wants to configure a static route for a specific VRF, then
|
||||||
|
a specific VRF configuration mode is available. After entering into that mode
|
||||||
|
with :clicmd:`vrf VRF` the user can enter the same route command as before,
|
||||||
|
but this time, the route command will apply to the VRF.
|
||||||
|
|
||||||
|
.. code-block:: frr
|
||||||
|
|
||||||
|
# case with VRF
|
||||||
|
configure terminal
|
||||||
|
vrf r1-cust1
|
||||||
|
ip route 10.0.0.0/24 10.0.0.2
|
||||||
|
exit-vrf
|
||||||
|
|
@ -269,125 +269,6 @@ Link Parameters Commands
|
|||||||
for InterASv2 link in OSPF (RFC5392). Note that this option is not yet
|
for InterASv2 link in OSPF (RFC5392). Note that this option is not yet
|
||||||
supported for ISIS (RFC5316).
|
supported for ISIS (RFC5316).
|
||||||
|
|
||||||
.. _static-route-commands:
|
|
||||||
|
|
||||||
Static Route Commands
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Static routing is a very fundamental feature of routing technology. It defines
|
|
||||||
static prefix and gateway.
|
|
||||||
|
|
||||||
.. index:: ip route NETWORK GATEWAY
|
|
||||||
.. clicmd:: ip route NETWORK GATEWAY
|
|
||||||
|
|
||||||
NETWORK is destination prefix with format of A.B.C.D/M. GATEWAY is gateway
|
|
||||||
for the prefix. When GATEWAY is A.B.C.D format. It is taken as a IPv4
|
|
||||||
address gateway. Otherwise it is treated as an interface name. If the
|
|
||||||
interface name is ``null0`` then zebra installs a blackhole route.
|
|
||||||
|
|
||||||
Some example configuration:
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
ip route 10.0.0.0/8 10.0.0.2
|
|
||||||
ip route 10.0.0.0/8 ppp0
|
|
||||||
ip route 10.0.0.0/8 null0
|
|
||||||
|
|
||||||
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. The third
|
|
||||||
install a blackhole route.
|
|
||||||
|
|
||||||
.. index:: ip route NETWORK NETMASK GATEWAY
|
|
||||||
.. clicmd:: ip route NETWORK NETMASK GATEWAY
|
|
||||||
|
|
||||||
This is alternate version of above command. When NETWORK is A.B.C.D format,
|
|
||||||
user must define NETMASK value with A.B.C.D format. GATEWAY is same option
|
|
||||||
as above command.
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
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
|
|
||||||
ip route 10.0.0.0 255.255.255.0 null0
|
|
||||||
|
|
||||||
|
|
||||||
These statements are equivalent to those in the previous example.
|
|
||||||
|
|
||||||
.. index:: ip route NETWORK GATEWAY DISTANCE
|
|
||||||
.. clicmd:: ip route NETWORK GATEWAY DISTANCE
|
|
||||||
|
|
||||||
Installs the route with the specified distance.
|
|
||||||
|
|
||||||
Multiple nexthop static route:
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
If zebra has been compiled with multipath support, and both 10.0.0.2 and
|
|
||||||
10.0.0.3 are reachable, zebra will install a multipath route via both
|
|
||||||
nexthops, if the platform supports this.
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
ip route 10.0.0.0/8 10.0.0.2
|
|
||||||
ip route 10.0.0.0/8 10.0.0.3
|
|
||||||
ip route 10.0.0.0/8 null0 255
|
|
||||||
|
|
||||||
|
|
||||||
This will install a multihop route via the specified next-hops if they are
|
|
||||||
reachable, as well as a high-metric blackhole route, which can be useful to
|
|
||||||
prevent traffic destined for a prefix to match less-specific routes (e.g.
|
|
||||||
default) should the specified gateways not be reachable. E.g.:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
zebra> show ip route 10.0.0.0/8
|
|
||||||
Routing entry for 10.0.0.0/8
|
|
||||||
Known via "static", distance 1, metric 0
|
|
||||||
10.0.0.2 inactive
|
|
||||||
10.0.0.3 inactive
|
|
||||||
|
|
||||||
Routing entry for 10.0.0.0/8
|
|
||||||
Known via "static", distance 255, metric 0
|
|
||||||
directly connected, Null0
|
|
||||||
|
|
||||||
|
|
||||||
.. index:: ipv6 route NETWORK GATEWAY
|
|
||||||
.. clicmd:: ipv6 route NETWORK GATEWAY
|
|
||||||
|
|
||||||
.. index:: ipv6 route NETWORK GATEWAY DISTANCE
|
|
||||||
.. clicmd:: ipv6 route NETWORK GATEWAY DISTANCE
|
|
||||||
|
|
||||||
These behave similarly to their ipv4 counterparts.
|
|
||||||
|
|
||||||
.. index:: ipv6 route NETWORK from SRCPREFIX GATEWAY
|
|
||||||
.. clicmd:: ipv6 route NETWORK from SRCPREFIX GATEWAY
|
|
||||||
|
|
||||||
.. index:: ipv6 route NETWORK from SRCPREFIX GATEWAY DISTANCE
|
|
||||||
.. clicmd:: ipv6 route NETWORK from SRCPREFIX GATEWAY DISTANCE
|
|
||||||
|
|
||||||
Install a static source-specific route. These routes are currently supported
|
|
||||||
on Linux operating systems only, and perform AND matching on packet's
|
|
||||||
destination and source addresses in the kernel's forwarding path. Note that
|
|
||||||
destination longest-prefix match is "more important" than source LPM, e.g.
|
|
||||||
``2001:db8:1::/64 from 2001:db8::/48`` will win over
|
|
||||||
``2001:db8::/48 from 2001:db8:1::/64`` if both match.
|
|
||||||
|
|
||||||
.. index:: table TABLENO
|
.. index:: table TABLENO
|
||||||
.. clicmd:: table TABLENO
|
.. clicmd:: table TABLENO
|
||||||
|
|
||||||
@ -415,31 +296,9 @@ for each VRF.
|
|||||||
This conceptual view introduces the *Default VRF* case. If the user does not
|
This conceptual view introduces the *Default VRF* case. If the user does not
|
||||||
configure any specific VRF, then by default, FRR uses the *Default VRF*.
|
configure any specific VRF, then by default, FRR uses the *Default VRF*.
|
||||||
|
|
||||||
In the context of *Zebra*, this is done automatically when configuring a static
|
|
||||||
route with, for example, :clicmd:`ip route NETWORK GATEWAY`:
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
# case without VRF
|
|
||||||
configure terminal
|
|
||||||
ip route 10.0.0.0 255.255.255.0 10.0.0.2
|
|
||||||
exit
|
|
||||||
|
|
||||||
Configuring VRF networking contexts can be done in various ways on FRR. The VRF
|
Configuring VRF networking contexts can be done in various ways on FRR. The VRF
|
||||||
interfaces can be configured by entering in interface configuration mode
|
interfaces can be configured by entering in interface configuration mode
|
||||||
:clicmd:`interface IFNAME vrf VRF`. Also, if the user wants to configure a
|
:clicmd:`interface IFNAME vrf VRF`.
|
||||||
static route for a specific VRF, then a specific VRF configuration mode is
|
|
||||||
available. After entering into that mode with :clicmd:`vrf VRF` the user can
|
|
||||||
enter the same route command as before, but this time, the route command will
|
|
||||||
apply to the VRF.
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
# case with VRF
|
|
||||||
configure terminal
|
|
||||||
vrf r1-cust1
|
|
||||||
ip route 10.0.0.0 255.255.255.0 10.0.0.2
|
|
||||||
exit-vrf
|
|
||||||
|
|
||||||
A VRF backend mode is chosen when running *Zebra*.
|
A VRF backend mode is chosen when running *Zebra*.
|
||||||
|
|
||||||
@ -479,25 +338,6 @@ commands in relationship to VRF. Here is an extract of some of those commands:
|
|||||||
decide to provision this command in configuration file to provide more clarity
|
decide to provision this command in configuration file to provide more clarity
|
||||||
about the intended configuration.
|
about the intended configuration.
|
||||||
|
|
||||||
.. index:: ip route NETWORK NETMASK GATEWAY NEXTHOPVRF
|
|
||||||
.. clicmd:: ip route NETWORK NETMASK GATEWAY NEXTHOPVRF
|
|
||||||
|
|
||||||
This command is based on VRF configuration mode or in configuration mode. If
|
|
||||||
on configuration mode, this applies to default VRF. Otherwise, this command
|
|
||||||
applies to the VRF of the vrf configuration mode. This command is used to
|
|
||||||
configure a vrf route leak across 2 VRFs. This command is only available
|
|
||||||
when *Zebra* is launched without :option:`-n` option.
|
|
||||||
|
|
||||||
.. index:: ip route NETWORK NETMASK GATEWAY table TABLENO
|
|
||||||
.. clicmd:: ip route NETWORK NETMASK GATEWAY table TABLENO
|
|
||||||
|
|
||||||
This command is based on configuration mode. There, for default VRF, this
|
|
||||||
command is available for all modes. The ``TABLENO`` configured is one of the
|
|
||||||
tables from Default *Linux network namespace*. This command is also available
|
|
||||||
on vrf configuration mode, provided that *Zebra* is run with :option:`-n`
|
|
||||||
option. In that case, this command configures a network route in the given
|
|
||||||
``TABLENO`` of the *Linux network namespace* of the relevant VRF.
|
|
||||||
|
|
||||||
.. index:: show ip route vrf VRF
|
.. index:: show ip route vrf VRF
|
||||||
.. clicmd:: show ip route vrf VRF
|
.. clicmd:: show ip route vrf VRF
|
||||||
|
|
||||||
@ -515,14 +355,6 @@ commands in relationship to VRF. Here is an extract of some of those commands:
|
|||||||
will dump the routing table ``TABLENO`` of the *Linux network namespace*
|
will dump the routing table ``TABLENO`` of the *Linux network namespace*
|
||||||
``VRF``.
|
``VRF``.
|
||||||
|
|
||||||
The usual static route commands are also available in the VRF context. When
|
|
||||||
entered within the VRF context the static routes are created in the VRF.
|
|
||||||
|
|
||||||
.. code-block:: frr
|
|
||||||
|
|
||||||
ip route 10.0.0.0 255.255.255.0 10.0.0.2 vrf r1-cust1 table 43
|
|
||||||
show ip table vrf r1-cust1 table 43
|
|
||||||
|
|
||||||
|
|
||||||
.. _zebra-mpls:
|
.. _zebra-mpls:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user