Merge pull request #3068 from qlyoung/doc-ospf-multi-instance

ospfd: add docs on multi-instance ospf
This commit is contained in:
David Lamparter 2018-09-21 23:03:19 +02:00 committed by GitHub
commit 630d5912a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -15,49 +15,91 @@ enterprise networks.
.. _configuring-ospfd: .. _configuring-ospfd:
Configuring ospfd Configuring OSPF
================= ================
There are no *ospfd* specific options. Common options can be specified *ospfd* accepts all :ref:`common-invocation-options`.
(:ref:`common-invocation-options`) to *ospfd*. *ospfd* needs to acquire
interface information from *zebra* in order to function. Therefore *zebra* must .. option:: -n, --instance
be running before invoking *ospfd*. Also, if *zebra* is restarted then *ospfd*
must be too. Specify the instance number for this invocation of *ospfd*.
.. option:: -a, --apiserver
Enable the OSPF API server
*ospfd* must acquire interface information from *zebra* in order to function.
Therefore *zebra* must be running before invoking *ospfd*. Also, if *zebra* is
restarted then *ospfd* must be too.
Like other daemons, *ospfd* configuration is done in :abbr:`OSPF` specific Like other daemons, *ospfd* configuration is done in :abbr:`OSPF` specific
configuration file :file:`ospfd.conf`. configuration file :file:`ospfd.conf` when the integrated config is not used.
.. _ospf-multi-instance:
Multi-instance Support
----------------------
OSPF supports multiple instances. Each instance is identified by a positive
nonzero integer that must be provided when adding configuration items specific
to that instance. Enabling instances is done with :file:`/etc/frr/daemons` in
the following manner:
::
...
ospfd=yes
ospfd_instances=1,5,6
...
The ``ospfd_instances`` variable controls which instances are started and what
their IDs are. In this example, after starting FRR you should see the following
processes:
.. code-block:: shell
# ps -ef | grep "ospfd"
frr 11816 1 0 17:30 ? 00:00:00 /usr/lib/frr/ospfd --daemon -A 127.0.0.1 -n 1
frr 11822 1 0 17:30 ? 00:00:00 /usr/lib/frr/ospfd --daemon -A 127.0.0.1 -n 2
frr 11828 1 0 17:30 ? 00:00:00 /usr/lib/frr/ospfd --daemon -A 127.0.0.1 -n 3
The instance number should be specified in the config when addressing a particular instance:
.. code-block:: frr
router ospf 5
router-id 1.2.3.4
area 0.0.0.0 authentication message-digest
...
.. _ospf-router: .. _ospf-router:
OSPF router Routers
=========== -------
To start OSPF process you have to specify the OSPF router. As of this To start OSPF process you have to specify the OSPF router.
writing, *ospfd* does not support multiple OSPF processes.
.. index:: router ospf .. index:: router ospf [(1-65535)] vrf NAME
.. clicmd:: router ospf .. clicmd:: router ospf [(1-65535)] vrf NAME
.. index:: no router ospf .. index:: no router ospf [(1-65535)] vrf NAME
.. clicmd:: no router ospf .. clicmd:: no router ospf [(1-65535)] vrf NAME
Enable or disable the OSPF process. *ospfd* does not yet Enable or disable the OSPF process.
support multiple OSPF processes. So you can not specify an OSPF process
number.
.. index:: ospf router-id A.B.C.D .. index:: ospf router-id A.B.C.D
.. clicmd:: ospf router-id A.B.C.D .. clicmd:: ospf router-id A.B.C.D
.. index:: no ospf router-id .. index:: no ospf router-id [A.B.C.D]
.. clicmd:: no ospf router-id .. clicmd:: no ospf router-id [A.B.C.D]
This sets the router-ID of the OSPF process. The This sets the router-ID of the OSPF process. The router-ID may be an IP
router-ID may be an IP address of the router, but need not be - it can address of the router, but need not be - it can be any arbitrary 32bit
be any arbitrary 32bit number. However it MUST be unique within the number. However it MUST be unique within the entire OSPF domain to the OSPF
entire OSPF domain to the OSPF speaker - bad things will happen if speaker - bad things will happen if multiple OSPF speakers are configured
multiple OSPF speakers are configured with the same router-ID! If one with the same router-ID! If one is not specified then *ospfd* will obtain a
is not specified then *ospfd* will obtain a router-ID router-ID automatically from *zebra*.
automatically from *zebra*.
.. index:: ospf abr-type TYPE .. index:: ospf abr-type TYPE
.. clicmd:: ospf abr-type TYPE .. clicmd:: ospf abr-type TYPE
@ -271,8 +313,8 @@ writing, *ospfd* does not support multiple OSPF processes.
.. _ospf-area: .. _ospf-area:
OSPF area Areas
========= -----
.. index:: area A.B.C.D range A.B.C.D/M .. index:: area A.B.C.D range A.B.C.D/M
.. clicmd:: area A.B.C.D range A.B.C.D/M .. clicmd:: area A.B.C.D range A.B.C.D/M
@ -510,8 +552,8 @@ OSPF area
.. _ospf-interface: .. _ospf-interface:
OSPF interface Interfaces
============== ----------
.. index:: ip ospf area AREA [ADDR] .. index:: ip ospf area AREA [ADDR]
.. clicmd:: ip ospf area AREA [ADDR] .. clicmd:: ip ospf area AREA [ADDR]
@ -664,8 +706,8 @@ OSPF interface
.. _redistribute-routes-to-ospf: .. _redistribute-routes-to-ospf:
Redistribute routes to OSPF Redistribution
=========================== --------------
.. index:: redistribute (kernel|connected|static|rip|bgp) .. index:: redistribute (kernel|connected|static|rip|bgp)
.. clicmd:: redistribute (kernel|connected|static|rip|bgp) .. clicmd:: redistribute (kernel|connected|static|rip|bgp)
@ -785,8 +827,8 @@ Redistribute routes to OSPF
.. _showing-ospf-information: .. _showing-ospf-information:
Showing OSPF information Showing Information
======================== ===================
.. _show-ip-ospf: .. _show-ip-ospf: