mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-06 06:14:35 +00:00
doc: stylin'
Use the proper section markup as defined in workflow.rst. This helps Sphinx organize sections properly. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
parent
c936589468
commit
75ca3b1123
@ -125,7 +125,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -135,7 +135,7 @@ Add frr groups and user
|
||||
-c "FRR FRRouting suite" -d /var/run/frr frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -176,7 +176,7 @@ an example.)
|
||||
sudo make SPHINXBUILD=sphinx-build2.7 install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -198,7 +198,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /etc/frr/*.conf
|
||||
|
||||
Install daemon config file
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -206,13 +206,13 @@ Install daemon config file
|
||||
sudo chown frr:frr /etc/frr/daemons
|
||||
|
||||
Edit /etc/frr/daemons as needed to select the required daemons
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Look for the section with ``watchfrr_enable=...`` and ``zebra=...`` etc.
|
||||
Enable the daemons as required by changing the value to ``yes``
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and set the following values (ignore the other
|
||||
settings)
|
||||
@ -233,7 +233,7 @@ Load the modifed sysctl's on the system:
|
||||
sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
|
||||
|
||||
Add init.d startup files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -241,14 +241,14 @@ Add init.d startup files
|
||||
sudo chkconfig --add frr
|
||||
|
||||
Enable frr daemon at startup
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
sudo chkconfig frr on
|
||||
|
||||
Start FRR manually (or reboot)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
|
@ -31,7 +31,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -41,7 +41,7 @@ Add frr groups and user
|
||||
-c "FRR FRRouting suite" -d /var/run/frr frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -83,7 +83,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -106,7 +106,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /etc/frr/*.conf
|
||||
|
||||
Install daemon config file
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -114,13 +114,13 @@ Install daemon config file
|
||||
sudo chown frr:frr /etc/frr/daemons
|
||||
|
||||
Edit /etc/frr/daemons as needed to select the required daemons
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Look for the section with ``watchfrr_enable=...`` and ``zebra=...`` etc.
|
||||
Enable the daemons as required by changing the value to ``yes``
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Create a new file ``/etc/sysctl.d/90-routing-sysctl.conf`` with the
|
||||
following content:
|
||||
@ -140,7 +140,7 @@ Load the modifed sysctl's on the system:
|
||||
sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
|
||||
|
||||
Install frr Service and redhat init files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -148,21 +148,21 @@ Install frr Service and redhat init files
|
||||
sudo install -p -m 755 redhat/frr.init /usr/lib/frr/frr
|
||||
|
||||
Register the systemd files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
sudo systemctl preset frr.service
|
||||
|
||||
Enable required frr at startup
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
sudo systemctl enable frr
|
||||
|
||||
Reboot or start FRR manually
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
|
@ -32,7 +32,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -43,7 +43,7 @@ Add frr groups and user
|
||||
sudo usermod -a -G frrvty frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -80,7 +80,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -99,7 +99,7 @@ Create empty FRR configuration files
|
||||
sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the
|
||||
other settings)
|
||||
@ -118,7 +118,7 @@ other settings)
|
||||
system
|
||||
|
||||
Troubleshooting
|
||||
~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^
|
||||
|
||||
**Local state directory**
|
||||
|
||||
|
@ -19,7 +19,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -30,7 +30,7 @@ Add frr groups and user
|
||||
sudo usermod -a -G frrvty frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -68,7 +68,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -88,7 +88,7 @@ Create empty FRR configuration files
|
||||
sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the
|
||||
other settings)
|
||||
@ -110,7 +110,7 @@ Troubleshooting
|
||||
---------------
|
||||
|
||||
Shared library error
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you try and start any of the frrouting daemons you may see the below
|
||||
error due to the frrouting shared library directory not being found:
|
||||
|
@ -24,7 +24,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -34,7 +34,7 @@ Add frr groups and user
|
||||
-c "FRR FRRouting suite" -d /var/run/frr frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -75,7 +75,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -99,7 +99,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /etc/frr/*.conf
|
||||
|
||||
Install daemon config file
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -107,13 +107,13 @@ Install daemon config file
|
||||
sudo chown frr:frr /etc/frr/daemons
|
||||
|
||||
Edit /etc/frr/daemons as needed to select the required daemons
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Look for the section with ``watchfrr_enable=...`` and ``zebra=...`` etc.
|
||||
Enable the daemons as required by changing the value to ``yes``
|
||||
|
||||
Enable IP & IPv6 forwarding (and MPLS)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Create a new file ``/etc/sysctl.d/90-routing-sysctl.conf`` with the
|
||||
following content: (Please make sure to list all interfaces with
|
||||
@ -155,7 +155,7 @@ And load the kernel modules on the running system:
|
||||
sudo modprobe mpls-router mpls-iptunnel
|
||||
|
||||
Install frr Service and redhat init files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -163,14 +163,14 @@ Install frr Service and redhat init files
|
||||
sudo install -p -m 755 redhat/frr.init /usr/lib/frr/frr
|
||||
|
||||
Enable required frr at startup
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
sudo systemctl enable frr
|
||||
|
||||
Reboot or start FRR manually
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
|
@ -34,7 +34,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr group and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -76,7 +76,7 @@ an example)
|
||||
sudo gmake install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -95,7 +95,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /usr/local/etc/frr/*.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to the end of ``/etc/sysctl.conf``:
|
||||
|
||||
|
@ -34,7 +34,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr group and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -76,7 +76,7 @@ an example)
|
||||
sudo gmake install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -95,7 +95,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /usr/local/etc/frr/*.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to the end of ``/etc/sysctl.conf``:
|
||||
|
||||
|
@ -47,7 +47,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr group and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -89,7 +89,7 @@ an example)
|
||||
sudo gmake install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -108,7 +108,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /usr/local/etc/frr/*.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to the end of ``/etc/sysctl.conf``:
|
||||
|
||||
|
@ -98,11 +98,11 @@ DAEMONS= or don't install unneded packages For example: zebra bgpd ldpd
|
||||
isisd nhrpd ospfd ospf6d pimd ripd ripngd
|
||||
|
||||
Enable the serivce
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- service frr enable
|
||||
|
||||
Start the service
|
||||
~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
- service frr start
|
||||
|
@ -44,7 +44,7 @@ Get FRR, compile it and install it (from Git)
|
||||
---------------------------------------------
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -54,7 +54,7 @@ Add frr groups and user
|
||||
-d /nonexistent -s /sbin/nologin frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example)
|
||||
@ -89,7 +89,7 @@ an example)
|
||||
sudo gmake install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -109,7 +109,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /usr/pkg/etc/frr/*.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to the end of ``/etc/sysctl.conf``:
|
||||
|
||||
@ -123,7 +123,7 @@ Add the following lines to the end of ``/etc/sysctl.conf``:
|
||||
system
|
||||
|
||||
Install rc.d init files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -131,7 +131,7 @@ Install rc.d init files
|
||||
chmod 555 /etc/rc.d/*.sh
|
||||
|
||||
Enable FRR processes
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(Enable the required processes only)
|
||||
|
||||
|
@ -35,7 +35,7 @@ Get FRR, compile it and install it (from Git)
|
||||
---------------------------------------------
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -45,7 +45,7 @@ Add frr groups and user
|
||||
-d /nonexistent -s /sbin/nologin frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example)
|
||||
@ -80,7 +80,7 @@ an example)
|
||||
sudo gmake install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -99,7 +99,7 @@ Create empty FRR configuration files
|
||||
sudo chmod 640 /usr/pkg/etc/frr/*.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to the end of ``/etc/sysctl.conf``:
|
||||
|
||||
@ -113,7 +113,7 @@ Add the following lines to the end of ``/etc/sysctl.conf``:
|
||||
system
|
||||
|
||||
Install rc.d init files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -121,7 +121,7 @@ Install rc.d init files
|
||||
chmod 555 /etc/rc.d/*.sh
|
||||
|
||||
Enable FRR processes
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(Enable the required processes only)
|
||||
|
||||
|
@ -9,7 +9,7 @@ OmniOS restrictions:
|
||||
use without MPLS
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -93,7 +93,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr group and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -138,7 +138,7 @@ an example)
|
||||
sudo gmake install
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
|
@ -30,7 +30,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr group and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -40,7 +40,7 @@ Add frr group and user
|
||||
-d /nonexistent -s /sbin/nologin _frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example)
|
||||
@ -75,7 +75,7 @@ an example)
|
||||
doas gmake install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -100,7 +100,7 @@ Create empty FRR configuration files
|
||||
doas chmod 640 /etc/frr/*.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to the end of ``/etc/rc.conf``:
|
||||
|
||||
@ -113,7 +113,7 @@ Add the following lines to the end of ``/etc/rc.conf``:
|
||||
**Reboot** to apply the config to the system
|
||||
|
||||
Enable MPLS Forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To enable MPLS forwarding on a given interface, use the following
|
||||
command:
|
||||
@ -132,7 +132,7 @@ Example:
|
||||
inet 10.0.1.1 255.255.255.0 mpls
|
||||
|
||||
Install rc.d init files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(create them in /etc/rc.d - no example are included at this time with
|
||||
FRR source)
|
||||
@ -152,7 +152,7 @@ Example (for zebra - store as ``/etc/rc.d/frr_zebra.sh``)
|
||||
rc_cmd $1
|
||||
|
||||
Enable FRR processes
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(Enable the required processes only)
|
||||
|
||||
|
@ -70,7 +70,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -81,7 +81,7 @@ Add frr groups and user
|
||||
sudo usermod -a -G frrvty frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -116,7 +116,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -135,7 +135,7 @@ Create empty FRR configuration files
|
||||
sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the
|
||||
other settings)
|
||||
@ -154,7 +154,7 @@ other settings)
|
||||
system
|
||||
|
||||
Install the init.d service
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -164,7 +164,7 @@ Install the init.d service
|
||||
sudo install -m 644 -o frr -g frr tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
|
||||
|
||||
Enable daemons
|
||||
~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
| Edit ``/etc/frr/daemons`` and change the value from "no" to "yes" for
|
||||
those daemons you want to start by systemd.
|
||||
@ -181,7 +181,7 @@ Enable daemons
|
||||
isisd=yes
|
||||
|
||||
Start the init.d service
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- /etc/init.d/frr start
|
||||
- use ``/etc/init.d/frr status`` to check its status.
|
||||
|
@ -24,7 +24,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -35,7 +35,7 @@ Add frr groups and user
|
||||
sudo usermod -a -G frrvty frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -71,7 +71,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -90,7 +90,7 @@ Create empty FRR configuration files
|
||||
sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
|
||||
|
||||
Enable IP & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the
|
||||
other settings)
|
||||
@ -106,7 +106,10 @@ other settings)
|
||||
net.ipv6.conf.all.forwarding=1
|
||||
|
||||
**Reboot** or use ``sysctl -p`` to apply the same config to the running
|
||||
system ### Install the init.d service
|
||||
system
|
||||
|
||||
Install the init.d service
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -116,7 +119,7 @@ system ### Install the init.d service
|
||||
sudo install -m 644 -o frr -g frr tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
|
||||
|
||||
Enable daemons
|
||||
~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
| Edit ``/etc/frr/daemons`` and change the value from "no" to "yes" for
|
||||
those daemons you want to start by systemd.
|
||||
@ -133,7 +136,7 @@ Enable daemons
|
||||
isisd=yes
|
||||
|
||||
Start the init.d service
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- /etc/init.d/frr start
|
||||
- use ``/etc/init.d/frr status`` to check its status.
|
||||
|
@ -25,7 +25,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -36,7 +36,7 @@ Add frr groups and user
|
||||
sudo usermod -a -G frrvty frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -72,7 +72,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -91,7 +91,7 @@ Create empty FRR configuration files
|
||||
sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
|
||||
|
||||
Enable IPv4 & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the
|
||||
other settings)
|
||||
@ -107,7 +107,7 @@ other settings)
|
||||
net.ipv6.conf.all.forwarding=1
|
||||
|
||||
Enable MPLS Forwarding (with Linux Kernel >= 4.5)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and the following lines. Make sure to add a
|
||||
line equal to ``net.mpls.conf.eth0.input`` or each interface used with
|
||||
@ -122,7 +122,7 @@ MPLS
|
||||
net.mpls.platform_labels=100000
|
||||
|
||||
Add MPLS kernel modules
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to ``/etc/modules-load.d/modules.conf``:
|
||||
|
||||
@ -136,7 +136,7 @@ Add the following lines to ``/etc/modules-load.d/modules.conf``:
|
||||
system
|
||||
|
||||
Install the systemd service (if rebooted from last step, change directory back to frr directory)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -148,7 +148,7 @@ Install the systemd service (if rebooted from last step, change directory back t
|
||||
sudo install -m 644 -o frr -g frr tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
|
||||
|
||||
Enable daemons
|
||||
~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
| Edit ``/etc/frr/daemons`` and change the value from "no" to "yes" for
|
||||
those daemons you want to start by systemd.
|
||||
@ -165,12 +165,12 @@ Enable daemons
|
||||
isisd=yes
|
||||
|
||||
Enable the systemd service
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- systemctl enable frr
|
||||
|
||||
Start the systemd service
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- systemctl start frr
|
||||
- use ``systemctl status frr`` to check its status.
|
||||
|
@ -20,7 +20,7 @@ Get FRR, compile it and install it (from Git)
|
||||
using any packages**
|
||||
|
||||
Add frr groups and user
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -31,7 +31,7 @@ Add frr groups and user
|
||||
sudo usermod -a -G frrvty frr
|
||||
|
||||
Download Source, configure and compile it
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
@ -67,7 +67,7 @@ an example.)
|
||||
sudo make install
|
||||
|
||||
Create empty FRR configuration files
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -86,7 +86,7 @@ Create empty FRR configuration files
|
||||
sudo install -m 640 -o frr -g frrvty /dev/null /etc/frr/vtysh.conf
|
||||
|
||||
Enable IPv4 & IPv6 forwarding
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and uncomment the following values (ignore the
|
||||
other settings)
|
||||
@ -102,7 +102,7 @@ other settings)
|
||||
net.ipv6.conf.all.forwarding=1
|
||||
|
||||
Enable MPLS Forwarding (with Linux Kernel >= 4.5)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Edit ``/etc/sysctl.conf`` and the following lines. Make sure to add a
|
||||
line equal to ``net.mpls.conf.eth0.input`` or each interface used with
|
||||
@ -117,7 +117,7 @@ MPLS
|
||||
net.mpls.platform_labels=100000
|
||||
|
||||
Add MPLS kernel modules
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Add the following lines to ``/etc/modules-load.d/modules.conf``:
|
||||
|
||||
@ -131,7 +131,7 @@ Add the following lines to ``/etc/modules-load.d/modules.conf``:
|
||||
system
|
||||
|
||||
Install the systemd service (if rebooted from last step, change directory back to frr directory)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -143,7 +143,7 @@ Install the systemd service (if rebooted from last step, change directory back t
|
||||
sudo install -m 644 -o frr -g frr tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
|
||||
|
||||
Enable daemons
|
||||
~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
| Edit ``/etc/frr/daemons`` and change the value from "no" to "yes" for
|
||||
those daemons you want to start by systemd.
|
||||
@ -160,12 +160,12 @@ Enable daemons
|
||||
isisd=yes
|
||||
|
||||
Enable the systemd service
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- systemctl enable frr
|
||||
|
||||
Start the systemd service
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- systemctl start frr
|
||||
- use ``systemctl status frr`` to check its status.
|
||||
|
@ -1,5 +1,6 @@
|
||||
************
|
||||
Building FRR
|
||||
=========================
|
||||
************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
@ -12,26 +12,26 @@ the appropriate function signature (parameters) for the hook.
|
||||
Example:
|
||||
|
||||
.. code-block:: c
|
||||
:caption: mydaemon.h
|
||||
:caption: mydaemon.h
|
||||
|
||||
#include "hook.h"
|
||||
DECLARE_HOOK(some_update_event, (struct eventinfo *info), (info))
|
||||
#include "hook.h"
|
||||
DECLARE_HOOK(some_update_event, (struct eventinfo *info), (info))
|
||||
|
||||
.. code-block:: c
|
||||
:caption: mydaemon.c
|
||||
:caption: mydaemon.c
|
||||
|
||||
#include "mydaemon.h"
|
||||
DEFINE_HOOK(some_update_event, (struct eventinfo *info), (info))
|
||||
...
|
||||
hook_call(some_update_event, info);
|
||||
#include "mydaemon.h"
|
||||
DEFINE_HOOK(some_update_event, (struct eventinfo *info), (info))
|
||||
...
|
||||
hook_call(some_update_event, info);
|
||||
|
||||
.. code-block:: c
|
||||
:caption: mymodule.c
|
||||
:caption: mymodule.c
|
||||
|
||||
#include "mydaemon.h"
|
||||
static int event_handler(struct eventinfo *info);
|
||||
...
|
||||
hook_register(some_update_event, event_handler);
|
||||
#include "mydaemon.h"
|
||||
static int event_handler(struct eventinfo *info);
|
||||
...
|
||||
hook_register(some_update_event, event_handler);
|
||||
|
||||
Do not use parameter names starting with "hook", these can collide with
|
||||
names used by the hook code itself.
|
||||
|
@ -1,5 +1,6 @@
|
||||
libfrr library facilities
|
||||
=========================
|
||||
***************************
|
||||
Library Facilities (libfrr)
|
||||
***************************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
@ -6,37 +6,37 @@ Memtypes
|
||||
FRR includes wrappers arround ``malloc()`` and ``free()`` that count the number
|
||||
of objects currently allocated, for each of a defined ``MTYPE``.
|
||||
|
||||
To this extent, there are `memory groups` and `memory types`. Each memory
|
||||
To this extent, there are *memory groups* and *memory types*. Each memory
|
||||
type must belong to a memory group, this is used just to provide some basic
|
||||
structure.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: c
|
||||
:caption: mydaemon.h
|
||||
:caption: mydaemon.h
|
||||
|
||||
DECLARE_MGROUP(MYDAEMON)
|
||||
DECLARE_MTYPE(MYNEIGHBOR)
|
||||
DECLARE_MGROUP(MYDAEMON)
|
||||
DECLARE_MTYPE(MYNEIGHBOR)
|
||||
|
||||
.. code-block:: c
|
||||
:caption: mydaemon.c
|
||||
:caption: mydaemon.c
|
||||
|
||||
DEFINE_MGROUP( MYDAEMON, "My daemon's memory")
|
||||
DEFINE_MTYPE( MYDAEMON, MYNEIGHBOR, "Neighbor entry")
|
||||
DEFINE_MTYPE_STATIC(MYDAEMON, MYNEIGHBORNAME, "Neighbor name")
|
||||
DEFINE_MGROUP( MYDAEMON, "My daemon's memory")
|
||||
DEFINE_MTYPE( MYDAEMON, MYNEIGHBOR, "Neighbor entry")
|
||||
DEFINE_MTYPE_STATIC(MYDAEMON, MYNEIGHBORNAME, "Neighbor name")
|
||||
|
||||
struct neigh *neighbor_new(const char *name)
|
||||
{
|
||||
struct neigh *n = XMALLOC(MYNEIGHBOR, sizeof(*n));
|
||||
n->name = XSTRDUP(MYNEIGHBORNAME, name);
|
||||
return n;
|
||||
}
|
||||
struct neigh *neighbor_new(const char *name)
|
||||
{
|
||||
struct neigh *n = XMALLOC(MYNEIGHBOR, sizeof(*n));
|
||||
n->name = XSTRDUP(MYNEIGHBORNAME, name);
|
||||
return n;
|
||||
}
|
||||
|
||||
void neighbor_free(struct neigh *n)
|
||||
{
|
||||
XFREE(MYNEIGHBORNAME, n->name);
|
||||
XFREE(MYNEIGHBOR, n);
|
||||
}
|
||||
void neighbor_free(struct neigh *n)
|
||||
{
|
||||
XFREE(MYNEIGHBORNAME, n->name);
|
||||
XFREE(MYNEIGHBOR, n);
|
||||
}
|
||||
|
||||
|
||||
Definition
|
||||
|
@ -100,7 +100,7 @@ Design
|
||||
------
|
||||
|
||||
Modules
|
||||
~~~~~~~
|
||||
^^^^^^^
|
||||
|
||||
The core design introduces an "nht" (next hop tracking) module in BGP
|
||||
and "rnh" (recursive nexthop) module in Zebra. The "nht" module
|
||||
@ -178,7 +178,7 @@ The next hop notification control flow is the following:
|
||||
|
||||
|
||||
zclient message format
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
ZEBRA_NEXTHOP_REGISTER and ZEBRA_NEXTHOP_UNREGISTER messages are
|
||||
encoded in the following way:
|
||||
@ -233,7 +233,7 @@ encoded in the following way:
|
||||
|
||||
|
||||
BGP data structure
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
Legend:
|
||||
|
||||
::
|
||||
@ -260,7 +260,7 @@ Legend:
|
||||
|
||||
|
||||
Zebra data structure
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
RNH table::
|
||||
|
||||
@ -279,7 +279,7 @@ RNH table::
|
||||
};
|
||||
|
||||
User interface changes
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
::
|
||||
|
||||
@ -338,7 +338,7 @@ User interface changes
|
||||
+ no shut all links to r4
|
||||
|
||||
Future work
|
||||
~~~~~~~~~~~
|
||||
^^^^^^^^^^^
|
||||
|
||||
- route-policy for next hop validation (e.g. ignore default route)
|
||||
- damping for rapid next hop changes
|
||||
|
@ -29,7 +29,7 @@ Implementation details
|
||||
----------------------
|
||||
|
||||
Concepts
|
||||
~~~~~~~~
|
||||
^^^^^^^^
|
||||
|
||||
Segment Routing used 3 differents OPAQUE LSA in OSPF to carry the various
|
||||
information:
|
||||
@ -47,7 +47,7 @@ Segment Routing functions (see below) when an Extended Link / Prefix or Router
|
||||
Information LSA s are received.
|
||||
|
||||
Overview
|
||||
~~~~~~~~
|
||||
^^^^^^^^
|
||||
|
||||
Following files where modified or added:
|
||||
|
||||
@ -113,7 +113,7 @@ The figure below shows the relation between the various files:
|
||||
Figure 1: Overview of Segment Routing interaction
|
||||
|
||||
Module interactions
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
To process incoming LSA, the code is based on the capability to call `hook()`
|
||||
functions when LSA are inserted or delete to / from the LSDB and the
|
||||
@ -186,7 +186,7 @@ Configuration
|
||||
-------------
|
||||
|
||||
Linux Kernel
|
||||
~~~~~~~~~~~~
|
||||
^^^^^^^^^^^^
|
||||
|
||||
In order to use OSPF Segment Routing, you must setup MPLS data plane. Up to
|
||||
know, only Linux Kernel version >= 4.5 is supported.
|
||||
@ -231,7 +231,7 @@ especially the `lo` one. For that purpose, disable RP filtering with:
|
||||
sysctl -w net.ipv4.conf.lo.rp_filter=0
|
||||
|
||||
OSPFd
|
||||
~~~~~
|
||||
^^^^^
|
||||
|
||||
Here it is a simple example of configuration to enable Segment Routing. Note
|
||||
that `opaque capability` and `router information` must be set to activate
|
||||
|
Loading…
Reference in New Issue
Block a user