aristanetworks / avd

Arista Validated Designs
https://avd.arista.com
Apache License 2.0
293 stars 211 forks source link

Feat(eos_designs): Add knob to avoid that selected vlans are stretched by evpn gateway #3554

Open kmueller68 opened 9 months ago

kmueller68 commented 9 months ago

Enhancement summary

Evpn gateway configuration with AVD today by default configures all vlans to be streched accross the domains by adding the necessary config lines to address-family evpn and to each vlan xxx configuration under router bgp xxxxx.

router bgp 65103
   router-id 10.0.254.7
   address-family evpn
      neighbor EVPN-OVERLAY-CORE activate
      neighbor EVPN-OVERLAY-CORE domain remote
      neighbor EVPN-OVERLAY-PEERS activate
      neighbor default next-hop-self received-evpn-routes route-type ip-prefix inter-domain

   vlan 1030
    rd 10.0.254.7:11030
    rd evpn domain remote 10.0.254.7:11030
    route-target both 11030:11030
    route-target import export evpn domain remote 11030:11030
    redistribute learned

By introducing a knob to the vlan configuration it should be possible to select which vlans will be stretched and which vlans not.

Which component of AVD is impacted

eos_designs

Use case example

add a knob to l3 and l2 vlans like evpn_gateway_enabled: < true | false > to define, if vlan should be stretched by evpn gateway. Default value is evpn_gateway_enabled: true to be fully backward compatible with current implementation.

tenants:
  Tenant_DC:
    mac_vrf_vni_base: 10000
    vrfs:
      Tenant_DC_PROD:
        vrf_vni: 10
        svis:
          - id: 1002
            evpn_gateway_enabled: < true (default) | false >
            ip_address_virtual: 10.0.2.1/24

    l2vlans:
      - id: 1902
        evpn_gateway_enabled: < true (default) | false >

Describe the solution you would like

The configuration should look as follows depending on the setting of the knob to true or false

Vlan should be stretched:

router bgp 65103
   router-id 10.0.254.7
   vlan 1030
    rd 10.0.254.7:11030
    rd evpn domain remote 10.0.254.7:11030
    route-target both 11030:11030
    route-target import export evpn domain remote 11030:11030
    redistribute learned

Vlan should not be stretched:

router bgp 65103
   router-id 10.0.254.7
   vlan 1030
    rd 10.0.254.7:11030
    route-target both 11030:11030
    redistribute learned

Describe alternatives you have considered

No response

Additional context

No response

Contributing Guide

ClausHolbechArista commented 4 months ago

Maybe we could use tags here to make it easier to maintain?

github-actions[bot] commented 1 month ago

This issue is stale because it has been open 90 days with no activity. The issue will be reviewed by a maintainer and may be closed