mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 04:26:12 +00:00
Merge pull request #3068 from qlyoung/doc-ospf-multi-instance
ospfd: add docs on multi-instance ospf
This commit is contained in:
commit
630d5912a5
@ -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:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user