aristanetworks / avd

Arista Validated Designs

Home Page:https://avd.arista.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EVPN Multihoming - L2 Leaf Uplink Issue with short_esi: auto

SomaliRaven opened this issue · comments

Issue Summary

We have a setup where l3leaf switches are providing uplinks to hosts and l2leaf switches via EVPN multihoming. The l2leaf switches are using LACP portchannel to connect to the l3leaf switches.

The creation of portchannels on l2leaf works flawlessly. But on the l3leaf the same port-channel are created on the two l3leaf switches with different ethernet segment identifiers and lacp system ids.

While testing we found out, that the issue is using short_esi: auto. When using seting short_esi manually it works out.

Please fix the creation of uplink port-channels for l2leaf switches to l3leaf switches by using short_esi:auto.

Following code snippets were used to create the issue:

<omitted>
    - group: Access-1
      mlag_interfaces: "{{ mlag_interfaces_access }}"
      uplink_interfaces: "{{ uplink_interfaces_access }}"
      short_esi: auto
      nodes:
        - name: l2leaf-1
          id: 1
          inband_mgmt_ip: <redacted>
          uplink_switches: ['l3leaf-1','l3leaf-2']
          uplink_switch_interfaces: ['Ethernet41']
        - name: l2leaf-2
          id: 2
          inband_mgmt_ip: <redacted>
          uplink_switches: ['l3leaf-1','l3leaf-2']
          uplink_switch_interfaces: ['Ethernet42']
    - group: Access-1.1
      uplink_interfaces: ['Ethernet51']
      uplink_switches: ['l2leaf-1','l2leaf-2']
      uplink_switch_interfaces: "{{ uplink_switch_interfaces_member_3 }}"
      nodes:
        - name: l2leaf-3
          id: 3
          inband_mgmt_ip: <redacted>
    - group: Access-1.2
      uplink_interfaces: ['Ethernet51']
      uplink_switches: ['l2leaf-1','l2leaf-2']
      uplink_switch_interfaces: "{{ uplink_switch_interfaces_member_4 }}"
      nodes:
        - name: l2leaf-4
          id: 4
          inband_mgmt_ip: <redacted>
    - group: Access-1.3
      uplink_interfaces: ['Ethernet51']
      uplink_switches: ['l2leaf-1','l2leaf-2']
      uplink_switch_interfaces: "{{ uplink_switch_interfaces_member_5 }}"
      nodes:
        - name: l2leaf-5
          id: 5
          inband_mgmt_ip: <redacted>

This creates port-channels as below:

l3leaf-1

interface Port-Channel27
   switchport trunk allowed vlan <redacted>
   switchport
   switchport mode trunk
   !    
   evpn ethernet-segment    
      identifier 0000:0000:61d0:21bd:119c   
      route-target import 61:d0:21:bd:11:9c 
   lacp system-id 61d0.21bd.119c

l3leaf-2

interface Port-Channel27
   switchport trunk allowed vlan <redacted>
   switchport mode trunk       switchport mode trunk
   switchport      switchport
   !    
   evpn ethernet-segment    
      identifier 0000:0000:3d87:7af9:b71e   
      route-target import 3d:87:7a:f9:b7:1e 
   lacp system-id 3d87.7af9.b71e

Which component(s) of AVD impacted

eos_designs

How do you run AVD ?

Ansible CLI with AVD Runner

Steps to reproduce

Create l3leaf with evpn multihoming
Use l2leaf configuration from above to connect them to l3leaf
Execute Playbook

Relevant log output

No response

Contributing Guide

  • I agree to follow this project's Code of Conduct

So we need to ensure that we use the node ID of the first MLAG switch for short_esi: auto.