Skip to content

Commit

Permalink
Merge pull request #1443 from vyos/evpn-uplink-t6306
Browse files Browse the repository at this point in the history
evpn: T6306: add multihoming documentation
  • Loading branch information
c-po authored May 12, 2024
2 parents 1841f41 + 0ac4885 commit 98bf155
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 2 deletions.
11 changes: 11 additions & 0 deletions docs/_include/interface-evpn-uplink.txt
Original file line number Diff line number Diff line change
@@ -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
49 changes: 48 additions & 1 deletion docs/configuration/interfaces/bonding.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
*******
Expand Down Expand Up @@ -595,4 +643,3 @@ Operation
Partner Churn State: churned
Actor Churned Count: 1
Partner Churned Count: 1
9 changes: 8 additions & 1 deletion docs/configuration/interfaces/ethernet.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
====
Expand Down Expand Up @@ -289,4 +297,3 @@ Operation
Date code : 0506xx
.. stop_vyoslinter

0 comments on commit 98bf155

Please sign in to comment.