Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for EVPN Single-active Multihoming #1163

Closed
3 of 4 tasks
UchihaItachiSama opened this issue Aug 30, 2021 · 3 comments · Fixed by #1396
Closed
3 of 4 tasks

Support for EVPN Single-active Multihoming #1163

UchihaItachiSama opened this issue Aug 30, 2021 · 3 comments · Fixed by #1396
Labels
role: eos_cli_config_gen issue related to eos_cli_config_gen role role: eos_designs issue related to eos_designs role state: accepted Issue is part of the development roadmap type: enhancement New feature or request

Comments

@UchihaItachiSama
Copy link
Contributor

UchihaItachiSama commented Aug 30, 2021

Enhancement summary

Add support to allow configuring EVPN single-active multihoming.

  • Template enhancement
  • Role enhancement
  • Documentation enhancement (avd.sh)

CLI

interface Port-Channel1
   switchport mode trunk
   switchport trunk allowed vlan 100-200
   evpn ethernet-segment
      identifier 0123:0123:0123:0123:0123
      route-target import 12:34:12:34:12:34
      redundancy single-active

Which component of AVD is impacted

eos_designs, eos_cli_config_gen

Use case example

Allow user to configure Single-Active multihoming, instead of the default Active-Active multihoming.

Describe the solution you would like

In connected endpoints we already have short_esi key, in addition to that we can have a redundancy_mode key to facilitate configuring active-active or single-active multihoming.

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
          mode: active
          short_esi: 0303:0202:0101
          redundancy_mode: <single-active | active-active> # default active-active

The same can be used for port_channel_interfaces

port_channel_interfaces:
   < Port-Channel_interface_1 >:
            esi: < EVPN Ethernet Segment Identifier (Type 1 format) >
            rt: < EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx >
            lacp_id: < LACP ID with format xxxx.xxxx.xxxx >
            redundancy_mode: <single-active | active-active> # default active-active

Describe alternatives you have considered

For eos_cli_config_gen we can use eos_cli under port_channel_interfaces to currently configure single-active mode.

Additional context

https://eos.arista.com/eos-4-26-0f/evpn-single-active-multihoming-preference-based-df-election/

Contributing Guide

  • I agree to follow this project's Code of Conduct
@UchihaItachiSama UchihaItachiSama added the type: enhancement New feature or request label Aug 30, 2021
@ClausHolbechArista
Copy link
Contributor

We would need two PRs here. One for eos_cli_config_gen and one for eos_designs.
The key in eos_cli_config_gen should be redundancy to match the EOS CLI.

@ClausHolbechArista ClausHolbechArista added role: eos_cli_config_gen issue related to eos_cli_config_gen role role: eos_designs issue related to eos_designs role state: accepted Issue is part of the development roadmap labels Oct 29, 2021
@UchihaItachiSama
Copy link
Contributor Author

Sure, i'll start working on the eos_cli_config_gen PR first. And keep the key as redundancy to match the EOS CLI.

@UchihaItachiSama
Copy link
Contributor Author

Created a PR for this. Ready for review.

Have also added designated-forwarder election algorithm but let me know if the DF election change is required to be done via a different issue and PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
role: eos_cli_config_gen issue related to eos_cli_config_gen role role: eos_designs issue related to eos_designs role state: accepted Issue is part of the development roadmap type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants