question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Support for EVPN single-active in eos_designs role

See original GitHub issue

Enhancement summary

We do support EVPN single-active in eos_cli_config_gen #1330, this is to extend the support to eos_designs role.

Today we can configure active-active multihoming connected endpoints as follows: https://avd.sh/en/latest/roles/eos_designs/doc/connected-endpoints.html#evpn-aa-esi-dual-attached-endpoint-scenario

As discussed with @gmuloc, ideally we would need to extend the model to support EVPN A/S, both at the port-channel level with a new redundancy var and a preference:

servers:
  server01:
    rack: RackB
    adapters:
      - endpoint_ports: [ E0, E1 ]
        switch_ports: [ Ethernet10, Ethernet10 ]
        switches: [ DC1-SVC3A, DC1-SVC4A ]
        profile: VM_Servers
        port_channel:
          description: PortChanne1
          redundancy: single-active
          designated_forwarder_preference: [ 100, 0]
          short_esi: 0303:0202:0101

This also can be configured in ethernet interfaces, for example to connect to separate CE devices:

servers:
  server01:
    rack: RackB
    adapters:
      - endpoint_ports: [ E0, E1 ]
        switch_ports: [ Ethernet10, Ethernet10 ]
        switches: [ DC1-SVC3A, DC1-SVC4A ]
        redundancy: single-active
        designated_forwarder_preference: [ 100, 0]
        short_esi: 0303:0202:0101

An example of eos cli configuation would be would be the following:

interface Ethernet1/1
   no shutdown
   speed 100g
   switchport
   switchport trunk allowed vlan 700
   switchport mode trunk
   switchport vlan translation 11 700
   spanning-tree portfast
   link tracking group LT_GROUP1 downstream
   evpn ethernet-segment
      identifier 0000:0000:0000:0102:0001
      redundancy single-active
      designated-forwarder election algorithm preference 100
      route-target import 00:00:01:02:00:01

@gmuloc proposed something around the following as a data model. Please add anything that i might be missing:

< endpoint_2 >:
    rack: RackC
    adapters:
      - speed: < interface_speed | forced interface_speed | auto interface_speed >
        endpoint_ports: [ < interface_name > ]
        switch_ports: [ < switchport_interface > ]
        switches: [ < device > ]
        profile: < port_profile_name >
        ethernet_segment:
          short_esi: < 0000:0000:0000 | auto >
          redundancy: < all-active | single-active > 
          designated_forwarder_preference: [42]
      - endpoint_ports: [ < interface_name_1 > , < interface_name_2 > ]
        switch_ports: [ < switchport_interface_1 >, < switchport_interface_2 > ]
        switches: [ < device_1 >, < device_2 > ]
        profile: < port_profile_name >
        ethernet_segment:
          short_esi: < 0000:0000:0000 | auto >
          redundancy: < all-active | single-active >
          designated_forwarder_preference: [100, 0]
        port_channel:
          description: < port_channel_description >
          mode: '< active | passive | on >'
          short_esi: < 0000:0000:0000 | auto >

Also with an auto short_esi being generated and default values for preference, this configuration could even be abstracted to the port_profile level.

Which component of AVD is impacted

eos_designs

Use case example

Configure EVPN single-active connections in the SERVER files of the eos_designs role.

Describe the solution you would like

Being able to define endpoint connections as described above.

Describe alternatives you have considered

Currently i need to implement this as part of host_vars configuration for each device.

Additional context

No response

Contributing Guide

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

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:16 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
jonxstillcommented, Jun 9, 2022

I can add it to this one. I’ll take it back to being a draft and see if I can add that today.

0reactions
dgonzalez85commented, Jun 9, 2022

Hi John, thanks for all the work on this. While testing this feature, the customer is asking to set the “dont-preempt” option that was not originally requested, its a simple addition to this command:

      designated-forwarder election algorithm preference <pref_value> dont-preempt

Just in case this was not considered and it can be added as part of this change or in a separate one.

thanks, David

Read more comments on GitHub >

github_iconTop Results From Across the Web

Example: Configuring Basic EVPN Active-Standby Multihoming
Verify that the EVPN routing instances and ESIs are configured and functioning correctly, and confirm that single-active multihoming is enabled.
Read more >
Tag :: EVPN - Arista Networks
EVPN E-Tree for MPLS and VXLAN ... E-Tree is an L2 EVPN service (defined in RFC8317) in which each attachment circuit (AC) is...
Read more >
RFC 9014 - Interconnect Solution for Ethernet VPN (EVPN ...
Interconnect Solution for Ethernet VPN (EVPN) Overlay Networks RFC 9014 · 1. 4.5. · 2. Multihoming Procedures on the GWs This model supports...
Read more >
arista.avd.eos_designs - GitHub
Generate fabric physical topology summary in CSV format. Reference Designs. The following reference design types are included in the roles default variables:.
Read more >
EVPN Features [Cisco IOS XR Software (End-of-Sale)]
Single-Homed, All-Active, Single-Active. Postpone EVPN startup ... The EVPN VXLAN layer 2 DCI gateway feature supports these functions:.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found