summaryrefslogtreecommitdiff
path: root/docs/configuration/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'docs/configuration/protocols')
-rw-r--r--docs/configuration/protocols/arp.rst63
-rw-r--r--docs/configuration/protocols/index.rst2
-rw-r--r--docs/configuration/protocols/multicast.rst34
-rw-r--r--docs/configuration/protocols/static.rst248
4 files changed, 217 insertions, 130 deletions
diff --git a/docs/configuration/protocols/arp.rst b/docs/configuration/protocols/arp.rst
new file mode 100644
index 00000000..3d39a816
--- /dev/null
+++ b/docs/configuration/protocols/arp.rst
@@ -0,0 +1,63 @@
+.. _routing-static-arp:
+
+###
+ARP
+###
+
+:abbr:`ARP (Address Resolution Protocol)` is a communication protocol used for
+discovering the link layer address, such as a MAC address, associated with a
+given internet layer address, typically an IPv4 address. This mapping is a
+critical function in the Internet protocol suite. ARP was defined in 1982 by
+:rfc:`826` which is Internet Standard STD 37.
+
+In Internet Protocol Version 6 (IPv6) networks, the functionality of ARP is
+provided by the Neighbor Discovery Protocol (NDP).
+
+To manipulate or display ARP_ table entries, the following commands are
+implemented.
+
+*********
+Configure
+*********
+
+.. cfgcmd:: set protocols static arp interface <interface> address <host>
+ mac <mac>
+
+ This will configure a static ARP entry always resolving `<address>` to
+ `<mac>` for interface `<interface>`.
+
+ Example:
+
+ .. code-block:: none
+
+ set protocols static arp interface eth0 address 192.0.2.1 mac 01:23:45:67:89:01
+
+
+*********
+Operation
+*********
+
+.. opcmd:: show protocols static arp
+
+ Display all known ARP table entries spanning across all interfaces
+
+.. code-block:: none
+
+ vyos@vyos:~$ show protocols static arp
+ Address HWtype HWaddress Flags Mask Iface
+ 10.1.1.1 ether 00:53:00:de:23:2e C eth1
+ 10.1.1.100 ether 00:53:00:de:23:aa CM eth1
+
+
+.. opcmd:: show protocols static arp interface eth1
+
+ Display all known ARP table entries on a given interface only (`eth1`):
+
+.. code-block:: none
+
+ vyos@vyos:~$ show protocols static arp interface eth1
+ Address HWtype HWaddress Flags Mask Iface
+ 10.1.1.1 ether 00:53:00:de:23:2e C eth1
+ 10.1.1.100 ether 00:53:00:de:23:aa CM eth1
+
+.. _ARP: https://en.wikipedia.org/wiki/Address_Resolution_Protocol
diff --git a/docs/configuration/protocols/index.rst b/docs/configuration/protocols/index.rst
index e7b1b27f..f95c1cf6 100644
--- a/docs/configuration/protocols/index.rst
+++ b/docs/configuration/protocols/index.rst
@@ -6,6 +6,7 @@ Protocols
:maxdepth: 1
:includehidden:
+ arp
babel
bfd
bgp
@@ -13,6 +14,7 @@ Protocols
igmp-proxy
isis
mpls
+ multicast
segment-routing
openfabric
ospf
diff --git a/docs/configuration/protocols/multicast.rst b/docs/configuration/protocols/multicast.rst
new file mode 100644
index 00000000..61a04e5e
--- /dev/null
+++ b/docs/configuration/protocols/multicast.rst
@@ -0,0 +1,34 @@
+.. _routing-static:
+
+#########
+Multicast
+#########
+
+In order to influence Multicast :abbr:`RPF (Reverse Path Forwarding)` lookup,
+it is possible to insert into zebra routes for the Multicast
+:abbr:`RIB (Routing Information Base)`. These routes are only used for RPF
+lookup and will not be used by ZEBRA for insertion into the kernel or for
+normal RIB processing. As such it is possible to create weird states with
+these commands.
+
+Use with caution. Most of the time this will not be necessary.
+
+.. cfgcmd:: set protocols static mroute <subnet> next-hop <address>
+ [distance <distance>]
+
+ Insert into the Multicast RIB Route `<subnet>` with specified next-hop.
+ The distance can be specified as well if desired.
+
+.. cfgcmd:: set protocols static mroute <subnet> next-hop <address> disable
+
+ Do not install route for `<subnet>` into the Multicast RIB.
+
+.. cfgcmd:: set protocols static mroute <subnet> interface <interface>
+ [distance <distance>]
+
+ Insert into the Multicast RIB Route `<subnet>` with specified `<interface>`.
+ The distance can be specified as well if desired.
+
+.. cfgcmd:: set protocols static mroute <subnet> interface <interface> disable
+
+ Do not install route for `<subnet>` into the Multicast RIB.
diff --git a/docs/configuration/protocols/static.rst b/docs/configuration/protocols/static.rst
index 02c9e91b..3e3eb47b 100644
--- a/docs/configuration/protocols/static.rst
+++ b/docs/configuration/protocols/static.rst
@@ -15,9 +15,9 @@ collection of all routes the router has learned from its configuration or from
its dynamic routing protocols is stored in the RIB. Unicast routes are directly
used to determine the forwarding table used for unicast packet forwarding.
-*************
-Static Routes
-*************
+*******************
+IPv4 Unicast Routes
+*******************
.. cfgcmd:: set protocols static route <subnet> next-hop <address>
@@ -39,6 +39,100 @@ Static Routes
.. note:: Routes with a distance of 255 are effectively disabled and not
installed into the kernel.
+IPv4 Interface Routes
+=====================
+
+.. cfgcmd:: set protocols static route <subnet> interface
+ <interface>
+
+ Allows you to configure the next-hop interface for an interface-based IPv4
+ static route. `<interface>` will be the next-hop interface where traffic is
+ routed for the given `<subnet>`.
+
+.. cfgcmd:: set protocols static route <subnet> interface
+ <interface> disable
+
+ Disables interface-based IPv4 static route.
+
+.. cfgcmd:: set protocols static route <subnet> interface
+ <interface> distance <distance>
+
+ Defines next-hop distance for this route, routes with smaller administrative
+ distance are elected prior to those with a higher distance.
+
+ Range is 1 to 255, default is 1.
+
+IPv4 BFD
+========
+
+.. cfgcmd:: set protocols static route <subnet> next-hop <address> bfd
+
+ Configure a static route for `<subnet>` using gateway `<address>` and use the
+ gateway address as BFD peer destination address.
+
+.. cfgcmd:: set protocols static route <subnet> next-hop <address> bfd profile <profile>
+
+ Configure a static route for `<subnet>` using gateway `<address>` and use the
+ gateway address as BFD peer destination address with BFD profile `<profile>`.
+
+.. cfgcmd:: set protocols static route <subnet> next-hop <address> bfd multi-hop
+ source-address <source-address>
+
+ Configure a static route for `<subnet>` using gateway `<address>` and use the
+ gateway address as BFD peer destination address with source address
+ `<source>` but initiate a multi-hop session.
+
+DHCP Interface Routes
+=====================
+
+.. cfgcmd:: set protocols static route <subnet> dhcp-interface <interface>
+
+ Defines route with DHCP interface supplying next-hop IP address.
+
+IPv4 Reject Routes
+==================
+
+.. cfgcmd:: set protocol static route <subnet> reject
+
+ Defines route which emits an ICMP unreachable when matched.
+
+.. cfgcmd:: set protocols static route <subnet> reject distance <distance>
+
+ Defines distance for this route, routes with smaller administrative
+ distance are elected prior to those with a higher distance.
+
+.. cfgcmd:: set protocols static route <subnet> reject tag <tag>
+
+ Sets a tag for this route.
+
+.. cfgcmd:: set protocol static route6 <subnet> reject
+
+ Defines route which emits an ICMP unreachable when matched.
+
+IPv4 Blackhole Routes
+=====================
+
+.. cfgcmd:: set protocols static route <subnet> blackhole
+
+ Use this command to configure a "black-hole" route on the router. A
+ black-hole route is a route for which the system silently discard packets
+ that are matched. This prevents networks leaking out public interfaces, but
+ it does not prevent them from being used as a more specific route inside your
+ network.
+
+.. cfgcmd:: set protocols static route <subnet> blackhole distance <distance>
+
+ Defines blackhole distance for this route, routes with smaller administrative
+ distance are elected prior to those with a higher distance.
+
+.. cfgcmd:: set protocols static route <subnet> blackhole tag <tag>
+
+ Sets a tag for this route.
+
+*******************
+IPv6 Unicast Routes
+*******************
+
.. cfgcmd:: set protocols static route6 <subnet> next-hop <address>
Configure next-hop `<address>` for an IPv6 static route. Multiple static
@@ -82,29 +176,8 @@ Static Routes
C>* 2001:db8:201::/64 is directly connected, eth0.201, 00:00:46
S>* 2001:db8:1000::/36 [1/0] via 2001:db8:201::ffff, eth0.201, seg6 2001:db8:aaaa::7,2002::4,2002::3,2002::2, weight 1, 00:00:08
-
-Interface Routes
-================
-
-.. cfgcmd:: set protocols static route <subnet> interface
- <interface>
-
- Allows you to configure the next-hop interface for an interface-based IPv4
- static route. `<interface>` will be the next-hop interface where traffic is
- routed for the given `<subnet>`.
-
-.. cfgcmd:: set protocols static route <subnet> interface
- <interface> disable
-
- Disables interface-based IPv4 static route.
-
-.. cfgcmd:: set protocols static route <subnet> interface
- <interface> distance <distance>
-
- Defines next-hop distance for this route, routes with smaller administrative
- distance are elected prior to those with a higher distance.
-
- Range is 1 to 255, default is 1.
+IPv6 Interface Routes
+=====================
.. cfgcmd:: set protocols static route6 <subnet> interface
<interface>
@@ -138,30 +211,28 @@ Interface Routes
set protocols static route6 2001:db8:1000::/36 interface eth0 segments '2001:db8:aaaa::7/2002::4/2002::3/2002::2'
+IPv6 BFD
+========
-DHCP Interface Routes
-=====================
+.. cfgcmd:: set protocols static route6 <subnet> next-hop <address> bfd
-.. cfgcmd:: set protocols static route <subnet> dhcp-interface <interface>
+ Configure a static route for `<subnet>` using gateway `<address>` and use the
+ gateway address as BFD peer destination address.
- Defines route with DHCP interface supplying next-hop IP address.
-
-
-Reject Routes
-=============
-
-.. cfgcmd:: set protocol static route <subnet> reject
+.. cfgcmd:: set protocols static route6 <subnet> next-hop <address> bfd profile <profile>
- Defines route which emits an ICMP unreachable when matched.
+ Configure a static route for `<subnet>` using gateway `<address>` and use the
+ gateway address as BFD peer destination address with BFD profile `<profile>`.
-.. cfgcmd:: set protocols static route <subnet> reject distance <distance>
+.. cfgcmd:: set protocols static route6 <subnet> next-hop <address> bfd multi-hop
+ source-address <source>
- Defines distance for this route, routes with smaller administrative
- distance are elected prior to those with a higher distance.
+ Configure a static route for `<subnet>` using gateway `<address>` and use the
+ gateway address as BFD peer destination address with source address
+ `<source>` but initiate a multi-hop session.
-.. cfgcmd:: set protocols static route <subnet> reject tag <tag>
-
- Sets a tag for this route.
+IPv6 Reject Routes
+==================
.. cfgcmd:: set protocol static route6 <subnet> reject
@@ -176,26 +247,8 @@ Reject Routes
Sets a tag for this route.
-
-Blackhole Routes
-================
-
-.. cfgcmd:: set protocols static route <subnet> blackhole
-
- Use this command to configure a "black-hole" route on the router. A
- black-hole route is a route for which the system silently discard packets
- that are matched. This prevents networks leaking out public interfaces, but
- it does not prevent them from being used as a more specific route inside your
- network.
-
-.. cfgcmd:: set protocols static route <subnet> blackhole distance <distance>
-
- Defines blackhole distance for this route, routes with smaller administrative
- distance are elected prior to those with a higher distance.
-
-.. cfgcmd:: set protocols static route <subnet> blackhole tag <tag>
-
- Sets a tag for this route.
+IPv6 Blackhole Routes
+=====================
.. cfgcmd:: set protocols static route6 <subnet> blackhole
@@ -214,76 +267,11 @@ Blackhole Routes
Sets a tag for this route.
+************************
Alternate Routing Tables
-========================
+************************
TBD
Alternate routing tables are used with policy based routing by utilizing
:ref:`vrf`.
-
-
-.. _routing-arp:
-
-###
-ARP
-###
-
-:abbr:`ARP (Address Resolution Protocol)` is a communication protocol used for
-discovering the link layer address, such as a MAC address, associated with a
-given internet layer address, typically an IPv4 address. This mapping is a
-critical function in the Internet protocol suite. ARP was defined in 1982 by
-:rfc:`826` which is Internet Standard STD 37.
-
-In Internet Protocol Version 6 (IPv6) networks, the functionality of ARP is
-provided by the Neighbor Discovery Protocol (NDP).
-
-To manipulate or display ARP_ table entries, the following commands are
-implemented.
-
-*********
-Configure
-*********
-
-.. cfgcmd:: set protocols static arp interface <interface> address <host>
- mac <mac>
-
- This will configure a static ARP entry always resolving `<address>` to
- `<mac>` for interface `<interface>`.
-
- Example:
-
- .. code-block:: none
-
- set protocols static arp interface eth0 address 192.0.2.1 mac 01:23:45:67:89:01
-
-
-*********
-Operation
-*********
-
-
-.. opcmd:: show protocols static arp
-
- Display all known ARP table entries spanning across all interfaces
-
-.. code-block:: none
-
- vyos@vyos:~$ show protocols static arp
- Address HWtype HWaddress Flags Mask Iface
- 10.1.1.1 ether 00:53:00:de:23:2e C eth1
- 10.1.1.100 ether 00:53:00:de:23:aa CM eth1
-
-
-.. opcmd:: show protocols static arp interface eth1
-
- Display all known ARP table entries on a given interface only (`eth1`):
-
-.. code-block:: none
-
- vyos@vyos:~$ show protocols static arp interface eth1
- Address HWtype HWaddress Flags Mask Iface
- 10.1.1.1 ether 00:53:00:de:23:2e C eth1
- 10.1.1.100 ether 00:53:00:de:23:aa CM eth1
-
-.. _ARP: https://en.wikipedia.org/wiki/Address_Resolution_Protocol