summaryrefslogtreecommitdiff
path: root/docs/configuration/protocols
diff options
context:
space:
mode:
Diffstat (limited to 'docs/configuration/protocols')
-rw-r--r--docs/configuration/protocols/index.rst1
-rw-r--r--docs/configuration/protocols/isis.rst74
-rw-r--r--docs/configuration/protocols/mpls.rst70
3 files changed, 138 insertions, 7 deletions
diff --git a/docs/configuration/protocols/index.rst b/docs/configuration/protocols/index.rst
index 271b6056..819db4df 100644
--- a/docs/configuration/protocols/index.rst
+++ b/docs/configuration/protocols/index.rst
@@ -11,6 +11,7 @@ Protocols
bgp
igmp
igmp-proxy
+ is-is
mpls
ospf
ospfv3
diff --git a/docs/configuration/protocols/isis.rst b/docs/configuration/protocols/isis.rst
new file mode 100644
index 00000000..807dca83
--- /dev/null
+++ b/docs/configuration/protocols/isis.rst
@@ -0,0 +1,74 @@
+.. include:: ../_include/need_improvement.txt
+
+.. _isis:
+
+#####
+IS-IS
+#####
+
+:abbr:`IS-IS (Intermediate System to Intermediate System)` is a link-state interior gateway routing protocol.
+Like OSPF, IS-IS runs the Dijkstra shortest-path first (SPF) algorithm to create a database of the network’s
+topology and, from that database, to determine the best (that is, shortest) path to a destination.
+The routers exchange topology information with their nearest neighbors.
+IS-IS runs directly on the data link layer (Layer 2).
+IS-IS addresses are called :abbr:`NETs (Network Entity Titles)` and can be 8 to 20 bytes long, but are generally 10 bytes long.
+
+For example :abbr:`NET (Network Entity Title)`
+
+.. code-block:: none
+
+ 49.0001.1921.6800.1002.00
+
+The IS-IS address consists of three parts:
+
+ :abbr:`AFI (Address family authority identifier)`
+ ``49`` The AFI value 49 is what IS-IS uses for private addressing.
+
+ Area identifier:
+ ``0001`` IS-IS area number (Area1)
+
+ System identifier:
+ ``1921.6800.1002`` For system idetifier we recommend to use IP address or MAC address of the router.
+
+ NET selector:
+ ``00`` Must always be 00, to indicate "this system".
+
+Simple IS-IS configuration using 2 nodes and redistributing connected interfaces.
+
+**Node 1:**
+
+.. code-block:: none
+
+ set interfaces dummy dum0 address '203.0.113.1/24'
+ set interfaces ethernet eth1 address '192.0.2.1/24'
+
+ set policy prefix-list EXPORT-ISIS rule 10 action 'permit'
+ set policy prefix-list EXPORT-ISIS rule 10 prefix '203.0.113.0/24'
+ set policy route-map EXPORT-ISIS rule 10 action 'permit'
+ set policy route-map EXPORT-ISIS rule 10 match ip address prefix-list 'EXPORT-ISIS'
+
+ set protocols isis FOO interface eth1
+ set protocols isis FOO net '49.0001.1921.6800.1002.00'
+ set protocols isis FOO redistribute ipv4 connected level-2 route-map 'EXPORT-ISIS'
+
+**Node 2:**
+
+.. code-block:: none
+
+ set interfaces ethernet eth1 address '192.0.2.2/24'
+
+ set protocols isis FOO interface eth1
+ set protocols isis FOO net '49.0001.1921.6800.2002.00'
+
+Show ip routes on Node2:
+
+.. code-block:: none
+
+ vyos@r2:~$ show ip route isis
+ Codes: K - kernel route, C - connected, S - static, R - RIP,
+ O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,
+ T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,
+ F - PBR, f - OpenFabric,
+ > - selected route, * - FIB route, q - queued route, r - rejected route
+
+ I 203.0.113.0/24 [115/10] via 192.0.2.1, eth1, 00:03:42
diff --git a/docs/configuration/protocols/mpls.rst b/docs/configuration/protocols/mpls.rst
index 82e99a17..4451c5c3 100644
--- a/docs/configuration/protocols/mpls.rst
+++ b/docs/configuration/protocols/mpls.rst
@@ -58,6 +58,11 @@ It is highly recommended to use the same address for both the LDP router-id and
the discovery transport address, but for VyOS MPLS LDP to work both parameters
must be explicitly set in the configuration.
+Another thing to keep in mind with LDP is that much like BGP, it is a protocol that
+runs on top of TCP. It however does not have an ability to do something like a
+refresh capability like BGPs route refresh capability. Therefore one might have
+to reset the neighbor for a capability change or a configuration change to work.
+
Configuration Options
=====================
@@ -76,16 +81,29 @@ Configuration Options
Use this command to set the IPv4 or IPv6 transport-address used by LDP.
-.. cfgcmd:: set protocols mpls ldp neighbor <IPv4 address> password <password>
+.. cfgcmd:: set protocols mpls ldp neighbor <address> password <password>
Use this command to configure authentication for LDP peers. Set the
IP address of the LDP peer and a password that should be shared in
- order to become neighbors.
-
-.. cfgcmd:: set protocols mpls ldp discovery hello-interval <seconds>
-.. cfgcmd:: set protocols mpls ldp discovery hello-holdtime <seconds>
-
- Use this command if you would like to set the discovery hello and hold time
+ order to become neighbors.
+
+.. cfgcmd:: set protocols mpls ldp neighbor <address> session-holdtime <seconds>
+
+ Use this command to configure a specific session hold time for LDP peers.
+ Set the IP address of the LDP peer and a session hold time that should be
+ configured for it. You may have to reset the neighbor for this to work.
+
+.. cfgcmd:: set protocols mpls ldp neighbor <address> ttl-security <disable | hop count>
+
+ Use this command to enable, disable, or specify hop count for TTL security
+ for LDP peers. By default the value is set to 255 (or max TTL).
+
+.. cfgcmd:: set protocols mpls ldp discovery hello-ipv4-interval <seconds>
+.. cfgcmd:: set protocols mpls ldp discovery hello-ipv4-holdtime <seconds>
+.. cfgcmd:: set protocols mpls ldp discovery hello-ipv6-interval <seconds>
+.. cfgcmd:: set protocols mpls ldp discovery hello-ipv6-holdtime <seconds>
+
+ Use these commands if you would like to set the discovery hello and hold time
parameters.
.. cfgcmd:: set protocols mpls ldp discovery session-ipv4-holdtime <seconds>
@@ -98,6 +116,44 @@ Configuration Options
Use this command if you would like for the router to advertise FECs with a label
of 0 for explicit null operations.
+
+.. cfgcmd:: set protocols mpls ldp allocation ipv4 access-list <access list number>
+.. cfgcmd:: set protocols mpls ldp allocation ipv6 access-list6 <access list number>
+
+ Use this command if you would like to control the local FEC allocations for LDP. A
+ good example would be for your local router to not allocate a label for everything.
+ Just a label for what it's useful. A good example would be just a loopback label.
+
+.. cfgcmd:: set protocols mpls ldp parameters cisco-interop-tlv
+
+ Use this command to use a Cisco non-compliant format to send and interpret the
+ Dual-Stack capability TLV for IPv6 LDP communications. This is related to :rfc:`7552`.
+
+.. cfgcmd:: set protocols mpls ldp parameters transport-prefer-ipv4
+
+ Use this command to prefer IPv4 for TCP peer transport connection for LDP when
+ both an IPv4 and IPv6 LDP address are configured on the same interface.
+
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv4 enable
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv6 enable
+
+ Use this command to enable targeted LDP sessions to the local router. The router
+ will then respond to any sessions that are trying to connect to it that are not
+ a link local type of TCP connection.
+
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv4 address <address>
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv6 address <address>
+
+ Use this command to enable the local router to try and connect with a targeted
+ LDP session to another router.
+
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv4 hello-holdtime <seconds>
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv4 hello-interval <seconds>
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv6 hello-holdtime <seconds>
+.. cfgcmd:: set protocols mpls ldp targeted-neighbor ipv6 hello-interval <seconds>
+
+ Use these commands if you would like to set the discovery hello and hold time
+ parameters for the targeted LDP neighbors.
Sample configuration to setup LDP on VyOS