summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-05-11 14:34:49 +0200
committerChristian Breunig <christian@breunig.cc>2024-05-11 14:34:49 +0200
commit0ac48851041f43656e08988b2d33fe8eb93da28f (patch)
treec5b67b79bf83781c430eebe37804859bc869d18c
parent40fa9d8bfc9015e25cb84f7806f050d331bd6d39 (diff)
downloadvyos-documentation-0ac48851041f43656e08988b2d33fe8eb93da28f.tar.gz
vyos-documentation-0ac48851041f43656e08988b2d33fe8eb93da28f.zip
evpn: T6306: add multihoming documentation
-rw-r--r--docs/_include/interface-evpn-uplink.txt11
-rw-r--r--docs/configuration/interfaces/bonding.rst49
-rw-r--r--docs/configuration/interfaces/ethernet.rst9
3 files changed, 67 insertions, 2 deletions
diff --git a/docs/_include/interface-evpn-uplink.txt b/docs/_include/interface-evpn-uplink.txt
new file mode 100644
index 00000000..3495361d
--- /dev/null
+++ b/docs/_include/interface-evpn-uplink.txt
@@ -0,0 +1,11 @@
+.. cfgcmd:: set interfaces {{ var0 }} <interface> evpn uplink
+
+ When all the underlay links go down the PE no longer has access
+ to the VxLAN +overlay. To prevent blackholing of traffic the
+ server/ES links are protodowned on the PE.
+
+ A link can be setup for uplink tracking via the following example:
+
+ .. code-block:: none
+
+ set interfaces {{ var0 }} {{ var1 }} evpn uplink
diff --git a/docs/configuration/interfaces/bonding.rst b/docs/configuration/interfaces/bonding.rst
index 3c8ebd0d..dfc5fab9 100644
--- a/docs/configuration/interfaces/bonding.rst
+++ b/docs/configuration/interfaces/bonding.rst
@@ -286,6 +286,54 @@ Port Mirror (SPAN)
:var1: bond1
:var2: eth3
+EVPN Multihoming
+----------------
+
+All-Active Multihoming is used for redundancy and load sharing. Servers are
+attached to two or more PEs and the links are bonded (link-aggregation).
+This group of server links is referred to as an :abbr:`ES (Ethernet Segment)`.
+
+An Ethernet Segment can be configured by specifying a system-MAC and a local
+discriminator or a complete ESINAME against the bond interface on the PE.
+
+.. cfgcmd:: set interfaces bonding <interface> evpn es-id <<1-16777215|10-byte ID>
+.. cfgcmd:: set interfaces bonding <interface> evpn es-sys-mac <xx:xx:xx:xx:xx:xx>
+
+ The sys-mac and local discriminator are used for generating a 10-byte, Type-3
+ Ethernet Segment ID. ESINAME is a 10-byte, Type-0 Ethernet Segment ID -
+ "00:AA:BB:CC:DD:EE:FF:GG:HH:II".
+
+ Type-1 (EAD-per-ES and EAD-per-EVI) routes are used to advertise the locally
+ attached ESs and to learn off remote ESs in the network. Local Type-2/MAC-IP
+ routes are also advertised with a destination ESI allowing for MAC-IP syncing
+ between Ethernet Segment peers. Reference: RFC 7432, RFC 8365
+
+ EVPN-MH is intended as a replacement for MLAG or Anycast VTEPs. In multihoming
+ each PE has an unique VTEP address which requires the introduction of a new
+ dataplane construct, MAC-ECMP. Here a MAC/FDB entry can point to a list of
+ remote PEs/VTEPs.
+
+.. cfgcmd:: set interfaces bonding <interface> evpn es-df-pref <1-65535>
+
+ Type-4 (ESR) routes are used for Designated Forwarder (DF) election.
+ DFs forward BUM traffic received via the overlay network. This
+ implementation uses a preference based DF election specified by
+ draft-ietf-bess-evpn-pref-df.
+
+ The DF preference is configurable per-ES.
+
+ BUM traffic is rxed via the overlay by all PEs attached to a server but
+ only the DF can forward the de-capsulated traffic to the access port.
+ To accommodate that non-DF filters are installed in the dataplane to drop
+ the traffic.
+
+ Similarly traffic received from ES peers via the overlay cannot be forwarded
+ to the server. This is split-horizon-filtering with local bias.
+
+.. cmdinclude:: /_include/interface-evpn-uplink.txt
+ :var0: bonding
+ :var1: bond0
+
*******
Example
*******
@@ -590,4 +638,3 @@ Operation
Partner Churn State: churned
Actor Churned Count: 1
Partner Churned Count: 1
-
diff --git a/docs/configuration/interfaces/ethernet.rst b/docs/configuration/interfaces/ethernet.rst
index a1151fd4..dd524035 100644
--- a/docs/configuration/interfaces/ethernet.rst
+++ b/docs/configuration/interfaces/ethernet.rst
@@ -118,6 +118,14 @@ Authentication (EAPoL)
:var0: ethernet
:var1: eth0
+EVPN Multihoming
+----------------
+
+Uplink/Core tracking.
+
+.. cmdinclude:: /_include/interface-evpn-uplink.txt
+ :var0: ethernet
+ :var1: eth0
VLAN
====
@@ -289,4 +297,3 @@ Operation
Date code : 0506xx
.. stop_vyoslinter
-