VyOS 1.5 - ESI Multihoming

Hello!

I have been experimenting with EVPN and ESI, mainly to learn new technology and my go-to is typically VyOS for these types of things on GNS3.

I have in my topology 2 leaf switches connecting to a downstream simple Cisco Catalyst switch in GNS3. With this current setup, the Catalyst sees both interfaces in the port-channel as bundled and up though I am unable to ping the SVI.

If I replace the Catalyst with another VyOS router and make a bundle interface on it, I’m able to send pings and work with it but there’s a long delay when I disconnect the primary link and I typically miss 10~ pings.

Leaf Bond Interface (they match on both Leaf VyOS switches). This bond interface is added to a bridge interface with VXLAN VTEP in it too.

set interfaces bonding bond1 evpn es-id 10
set interfaces bonding bond1 evpn es-sys-mac 22:33:44:55:66:70
set interfaces bonding bond1 evpn uplink
set interfaces bonding bond1 lacp-rate fast
set interfaces bonding bond1 member interface eth5
set interfaces bonding bond1 system-mac 22:33:44:55:66:70
set interfaces bonding bond1 mode 802.3ad

Is there good ways to verify this is working with some show commands?
show bgp l2vpn evpn es ← I can see my ESI, but it says VTEPs# 0
show evpn es detail ← BGP ready: no

I’m not able to copy paste from my GNS3 web UI, I’ll find a better way to get log outputs. But has anyone had success setting up ESI LAG?

Thank you!

You would probably need to configure lacp-fast on the cisco aswell otherwise it will use 30 seconds or whatever the slow lacp defaults to.

Other than that make sure to disable spanning-tree at both ends or at least enable portfast - otherwise you will have several seconds of downtime when connecting an interface.

And then to make fast convergence when using EVPN/VXLAN you need to enable BFD for the BGP process otherwise you are down to 1/3 or 3/9 seconds or whatever timeout you configure there (default is 60/180 seconds).

I prefer using BFD with fairly aggressive settings like 3 or 4 times a second (333 or 250ms timeout depending on estimated maximum path etc) and then set the BGP process to 10/30 as a fallback (in case BFD would go undetected).

You can also use “bgp additional-paths” (or whatever the syntax might be with FRR) to have all available BGP paths already exchanged and installed so once a path goes away you dont have to wait for the BGP to exchange information with its peers to figure out alternative routes.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.