summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-05-13 07:16:13 +0200
committerGitHub <noreply@github.com>2024-05-13 07:16:13 +0200
commitc43393e01c791aae069c478ca7b604f733419e4f (patch)
tree47ff2df459ab999d499e06e5690b05976430e74f /docs
parentcab747169fc2571dd450888fd08420ea3dd9a078 (diff)
parent5da40d676a939884fb4fe8b74ad35efbce46c452 (diff)
downloadvyos-documentation-c43393e01c791aae069c478ca7b604f733419e4f.tar.gz
vyos-documentation-c43393e01c791aae069c478ca7b604f733419e4f.zip
Merge pull request #1446 from vyos/mergify/bp/sagitta/pr-1443
evpn: T6306: add multihoming documentation (backport #1443)
Diffstat (limited to 'docs')
-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 a22d3ccb..27f1bbed 100644
--- a/docs/configuration/interfaces/bonding.rst
+++ b/docs/configuration/interfaces/bonding.rst
@@ -291,6 +291,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
*******
@@ -595,4 +643,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
-