diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-v4-evpn.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-v4-evpn.md index 91f285b5306..1271bece548 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-v4-evpn.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-v4-evpn.md @@ -328,6 +328,9 @@ router bgp 65101 neighbor 10.2.3.4 route-map RM-10.2.3.4-SET-NEXT-HOP-OUT out neighbor 10.2.3.5 activate neighbor 10.2.3.5 route-map RM-10.2.3.5-SET-NEXT-HOP-IN in + neighbor 10.2.3.6 next-hop address-family ipv6 + neighbor 10.2.3.7 next-hop address-family ipv6 originate + no neighbor 10.2.3.8 next-hop address-family ipv6 network 10.0.0.0/8 network 100.64.0.0/10 route-map RM-10.2.3.4 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg index a0105631962..3b2dc63f118 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg @@ -120,6 +120,9 @@ router bgp 65101 neighbor 10.2.3.4 route-map RM-10.2.3.4-SET-NEXT-HOP-OUT out neighbor 10.2.3.5 activate neighbor 10.2.3.5 route-map RM-10.2.3.5-SET-NEXT-HOP-IN in + neighbor 10.2.3.6 next-hop address-family ipv6 + neighbor 10.2.3.7 next-hop address-family ipv6 originate + no neighbor 10.2.3.8 next-hop address-family ipv6 network 10.0.0.0/8 network 100.64.0.0/10 route-map RM-10.2.3.4 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-v4-evpn.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-v4-evpn.yml index ee87344cf9d..2ef69f7b35b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-v4-evpn.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-v4-evpn.yml @@ -150,32 +150,48 @@ router_bgp: always: true route_map: RM-10.2.3.4-SET-NEXT-HOP-OUT route_map_out: RM-10.2.3.4-SET-NEXT-HOP-OUT - address_families: - ipv4: - bgp: - missing_policy: - direction_in_action: permit - direction_out_action: deny - additional_paths: - - install - - receive - - send ecmp - neighbors: - 10.2.3.4: - activate: true - route_map_out: RM-10.2.3.4-SET-NEXT-HOP-OUT - 10.2.3.5: - activate: true - route_map_in: RM-10.2.3.5-SET-NEXT-HOP-IN - networks: - 10.0.0.0/8: - 100.64.0.0/10: - route_map: RM-10.2.3.4 - peer_groups: - TEST_PEER_GRP: - activate: true - next_hop: - address_family_ipv6_originate: true + address_family_ipv4: + bgp: + missing_policy: + direction_in_action: permit + direction_out_action: deny + additional_paths: + install: true + receive: true + send: + ecmp: true + neighbors: + 10.2.3.4: + activate: true + route_map_out: RM-10.2.3.4-SET-NEXT-HOP-OUT + 10.2.3.5: + activate: true + route_map_in: RM-10.2.3.5-SET-NEXT-HOP-IN + 10.2.3.6: + next_hop: + address_family_ipv6: + enabled: true + 10.2.3.7: + next_hop: + address_family_ipv6: + enabled: true + originate: true + 10.2.3.8: + next_hop: + address_family_ipv6: + enabled: false + originate: true # this should not get added to the configuration + networks: + 10.0.0.0/8: + 100.64.0.0/10: + route_map: RM-10.2.3.4 + peer_groups: + TEST_PEER_GRP: + activate: true + next_hop: + address_family_ipv6: + enabled: true + originate: true redistribute_routes: - connected - static diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md index cda1f91aaf6..6f206c3964d 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md @@ -595,7 +595,7 @@ interface Loopback100 | Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | | --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan2 | Tenant_C_OP_Zone | - | - | - | - | - | - | +| Vlan2 | Tenant_C_OP_Zone | 10.255.251.2/31 | - | - | - | - | - | | Vlan110 | Tenant_A_OP_Zone | - | 10.1.10.1/24 | - | - | - | - | | Vlan111 | Tenant_A_OP_Zone | - | 10.1.11.1/24 | - | - | - | - | | Vlan120 | Tenant_A_WEB_Zone | - | 10.1.20.1/24 | - | - | - | - | @@ -608,11 +608,11 @@ interface Loopback100 | Vlan211 | Tenant_B_OP_Zone | - | 10.2.11.1/24 | - | - | - | - | | Vlan310 | Tenant_C_OP_Zone | - | 10.3.10.1/24 | - | - | - | - | | Vlan311 | Tenant_C_OP_Zone | - | 10.3.11.1/24 | - | - | - | - | -| Vlan3009 | Tenant_A_OP_Zone | - | - | - | - | - | - | -| Vlan3010 | Tenant_A_WEB_Zone | - | - | - | - | - | - | -| Vlan3011 | Tenant_A_APP_Zone | - | - | - | - | - | - | -| Vlan3012 | Tenant_A_DB_Zone | - | - | - | - | - | - | -| Vlan3019 | Tenant_B_OP_Zone | - | - | - | - | - | - | +| Vlan3009 | Tenant_A_OP_Zone | 10.255.251.2/31 | - | - | - | - | - | +| Vlan3010 | Tenant_A_WEB_Zone | 10.255.251.2/31 | - | - | - | - | - | +| Vlan3011 | Tenant_A_APP_Zone | 10.255.251.2/31 | - | - | - | - | - | +| Vlan3012 | Tenant_A_DB_Zone | 10.255.251.2/31 | - | - | - | - | - | +| Vlan3019 | Tenant_B_OP_Zone | 10.255.251.2/31 | - | - | - | - | - | | Vlan4093 | default | - | - | - | - | - | - | | Vlan4094 | default | 10.255.252.2/31 | - | - | - | - | - | @@ -625,7 +625,7 @@ interface Vlan2 no shutdown mtu 1500 vrf Tenant_C_OP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan110 description Tenant_A_OP_Zone_1 @@ -707,35 +707,35 @@ interface Vlan3009 no shutdown mtu 1500 vrf Tenant_A_OP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3010 description MLAG_PEER_L3_iBGP: vrf Tenant_A_WEB_Zone no shutdown mtu 1500 vrf Tenant_A_WEB_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3011 description MLAG_PEER_L3_iBGP: vrf Tenant_A_APP_Zone no shutdown mtu 1500 vrf Tenant_A_APP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3012 description MLAG_PEER_L3_iBGP: vrf Tenant_A_DB_Zone no shutdown mtu 1500 vrf Tenant_A_DB_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3019 description MLAG_PEER_L3_iBGP: vrf Tenant_B_OP_Zone no shutdown mtu 1500 vrf Tenant_B_OP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan4093 description MLAG_PEER_L3_PEERING @@ -853,12 +853,12 @@ ip virtual-router mac-address 00:dc:00:00:00:0a | --- | --------------- | | default | True (ipv6 interfaces) | | MGMT | False | -| Tenant_A_APP_Zone | True (ipv6 interfaces) | -| Tenant_A_DB_Zone | True (ipv6 interfaces) | -| Tenant_A_OP_Zone | True (ipv6 interfaces) | -| Tenant_A_WEB_Zone | True (ipv6 interfaces) | -| Tenant_B_OP_Zone | True (ipv6 interfaces) | -| Tenant_C_OP_Zone | True (ipv6 interfaces) | +| Tenant_A_APP_Zone | True | +| Tenant_A_DB_Zone | True | +| Tenant_A_OP_Zone | True | +| Tenant_A_WEB_Zone | True | +| Tenant_B_OP_Zone | True | +| Tenant_C_OP_Zone | True | ### IP Routing Device Configuration @@ -866,12 +866,12 @@ ip virtual-router mac-address 00:dc:00:00:00:0a ! ip routing ipv6 interfaces no ip routing vrf MGMT -ip routing ipv6 interfaces vrf Tenant_A_APP_Zone -ip routing ipv6 interfaces vrf Tenant_A_DB_Zone -ip routing ipv6 interfaces vrf Tenant_A_OP_Zone -ip routing ipv6 interfaces vrf Tenant_A_WEB_Zone -ip routing ipv6 interfaces vrf Tenant_B_OP_Zone -ip routing ipv6 interfaces vrf Tenant_C_OP_Zone +ip routing vrf Tenant_A_APP_Zone +ip routing vrf Tenant_A_DB_Zone +ip routing vrf Tenant_A_OP_Zone +ip routing vrf Tenant_A_WEB_Zone +ip routing vrf Tenant_B_OP_Zone +ip routing vrf Tenant_C_OP_Zone ``` ## IPv6 Routing @@ -963,6 +963,12 @@ ip route vrf MGMT 0.0.0.0/0 192.168.200.5 | 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | | 192.168.255.3 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | | 192.168.255.4 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | +| 10.255.251.3 | Inherited from peer group MLAG_PEER | Tenant_A_APP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.3 | Inherited from peer group MLAG_PEER | Tenant_A_DB_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.3 | Inherited from peer group MLAG_PEER | Tenant_A_OP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.3 | Inherited from peer group MLAG_PEER | Tenant_A_WEB_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.3 | Inherited from peer group MLAG_PEER | Tenant_B_OP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.3 | Inherited from peer group MLAG_PEER | Tenant_C_OP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | ### BGP Neighbor Interfaces @@ -973,12 +979,6 @@ ip route vrf MGMT 0.0.0.0/0 192.168.200.5 | Ethernet3 | default | UNDERLAY_PEERS | 65001 | - | | Ethernet4 | default | UNDERLAY_PEERS | 65001 | - | | Vlan4093 | default | MLAG_PEER | 65102 | - | -| Vlan3011 | Tenant_A_APP_Zone | MLAG_PEER | 65102 | - | -| Vlan3012 | Tenant_A_DB_Zone | MLAG_PEER | 65102 | - | -| Vlan3009 | Tenant_A_OP_Zone | MLAG_PEER | 65102 | - | -| Vlan3010 | Tenant_A_WEB_Zone | MLAG_PEER | 65102 | - | -| Vlan3019 | Tenant_B_OP_Zone | MLAG_PEER | 65102 | - | -| Vlan2 | Tenant_C_OP_Zone | MLAG_PEER | 65102 | - | ### Router BGP EVPN Address Family @@ -1129,48 +1129,66 @@ router bgp 65102 route-target import evpn 12:12 route-target export evpn 12:12 router-id 192.168.255.6 - neighbor interface Vlan3011 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.6:13 route-target import evpn 13:13 route-target export evpn 13:13 router-id 192.168.255.6 - neighbor interface Vlan3012 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.6:10 route-target import evpn 10:10 route-target export evpn 10:10 router-id 192.168.255.6 - neighbor interface Vlan3009 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.6:11 route-target import evpn 11:11 route-target export evpn 11:11 router-id 192.168.255.6 - neighbor interface Vlan3010 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.6:20 route-target import evpn 20:20 route-target export evpn 20:20 router-id 192.168.255.6 - neighbor interface Vlan3019 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.6:30 route-target import evpn 30:30 route-target export evpn 30:30 router-id 192.168.255.6 - neighbor interface Vlan2 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ``` # BFD @@ -1273,12 +1291,12 @@ route-map RM-MLAG-PEER-IN permit 10 | VRF Name | IP Routing | | -------- | ---------- | | MGMT | disabled | -| Tenant_A_APP_Zone | enabled (ipv6 interface) | -| Tenant_A_DB_Zone | enabled (ipv6 interface) | -| Tenant_A_OP_Zone | enabled (ipv6 interface) | -| Tenant_A_WEB_Zone | enabled (ipv6 interface) | -| Tenant_B_OP_Zone | enabled (ipv6 interface) | -| Tenant_C_OP_Zone | enabled (ipv6 interface) | +| Tenant_A_APP_Zone | enabled | +| Tenant_A_DB_Zone | enabled | +| Tenant_A_OP_Zone | enabled | +| Tenant_A_WEB_Zone | enabled | +| Tenant_B_OP_Zone | enabled | +| Tenant_C_OP_Zone | enabled | ## VRF Instances Device Configuration diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md index 4cd51b09c2b..310bc39d1b0 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md @@ -595,7 +595,7 @@ interface Loopback100 | Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | | --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan2 | Tenant_C_OP_Zone | - | - | - | - | - | - | +| Vlan2 | Tenant_C_OP_Zone | 10.255.251.3/31 | - | - | - | - | - | | Vlan110 | Tenant_A_OP_Zone | - | 10.1.10.1/24 | - | - | - | - | | Vlan111 | Tenant_A_OP_Zone | - | 10.1.11.1/24 | - | - | - | - | | Vlan120 | Tenant_A_WEB_Zone | - | 10.1.20.1/24 | - | - | - | - | @@ -608,11 +608,11 @@ interface Loopback100 | Vlan211 | Tenant_B_OP_Zone | - | 10.2.11.1/24 | - | - | - | - | | Vlan310 | Tenant_C_OP_Zone | - | 10.3.10.1/24 | - | - | - | - | | Vlan311 | Tenant_C_OP_Zone | - | 10.3.11.1/24 | - | - | - | - | -| Vlan3009 | Tenant_A_OP_Zone | - | - | - | - | - | - | -| Vlan3010 | Tenant_A_WEB_Zone | - | - | - | - | - | - | -| Vlan3011 | Tenant_A_APP_Zone | - | - | - | - | - | - | -| Vlan3012 | Tenant_A_DB_Zone | - | - | - | - | - | - | -| Vlan3019 | Tenant_B_OP_Zone | - | - | - | - | - | - | +| Vlan3009 | Tenant_A_OP_Zone | 10.255.251.3/31 | - | - | - | - | - | +| Vlan3010 | Tenant_A_WEB_Zone | 10.255.251.3/31 | - | - | - | - | - | +| Vlan3011 | Tenant_A_APP_Zone | 10.255.251.3/31 | - | - | - | - | - | +| Vlan3012 | Tenant_A_DB_Zone | 10.255.251.3/31 | - | - | - | - | - | +| Vlan3019 | Tenant_B_OP_Zone | 10.255.251.3/31 | - | - | - | - | - | | Vlan4093 | default | - | - | - | - | - | - | | Vlan4094 | default | 10.255.252.3/31 | - | - | - | - | - | @@ -625,7 +625,7 @@ interface Vlan2 no shutdown mtu 1500 vrf Tenant_C_OP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan110 description Tenant_A_OP_Zone_1 @@ -707,35 +707,35 @@ interface Vlan3009 no shutdown mtu 1500 vrf Tenant_A_OP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3010 description MLAG_PEER_L3_iBGP: vrf Tenant_A_WEB_Zone no shutdown mtu 1500 vrf Tenant_A_WEB_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3011 description MLAG_PEER_L3_iBGP: vrf Tenant_A_APP_Zone no shutdown mtu 1500 vrf Tenant_A_APP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3012 description MLAG_PEER_L3_iBGP: vrf Tenant_A_DB_Zone no shutdown mtu 1500 vrf Tenant_A_DB_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3019 description MLAG_PEER_L3_iBGP: vrf Tenant_B_OP_Zone no shutdown mtu 1500 vrf Tenant_B_OP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan4093 description MLAG_PEER_L3_PEERING @@ -853,12 +853,12 @@ ip virtual-router mac-address 00:dc:00:00:00:0a | --- | --------------- | | default | True (ipv6 interfaces) | | MGMT | False | -| Tenant_A_APP_Zone | True (ipv6 interfaces) | -| Tenant_A_DB_Zone | True (ipv6 interfaces) | -| Tenant_A_OP_Zone | True (ipv6 interfaces) | -| Tenant_A_WEB_Zone | True (ipv6 interfaces) | -| Tenant_B_OP_Zone | True (ipv6 interfaces) | -| Tenant_C_OP_Zone | True (ipv6 interfaces) | +| Tenant_A_APP_Zone | True | +| Tenant_A_DB_Zone | True | +| Tenant_A_OP_Zone | True | +| Tenant_A_WEB_Zone | True | +| Tenant_B_OP_Zone | True | +| Tenant_C_OP_Zone | True | ### IP Routing Device Configuration @@ -866,12 +866,12 @@ ip virtual-router mac-address 00:dc:00:00:00:0a ! ip routing ipv6 interfaces no ip routing vrf MGMT -ip routing ipv6 interfaces vrf Tenant_A_APP_Zone -ip routing ipv6 interfaces vrf Tenant_A_DB_Zone -ip routing ipv6 interfaces vrf Tenant_A_OP_Zone -ip routing ipv6 interfaces vrf Tenant_A_WEB_Zone -ip routing ipv6 interfaces vrf Tenant_B_OP_Zone -ip routing ipv6 interfaces vrf Tenant_C_OP_Zone +ip routing vrf Tenant_A_APP_Zone +ip routing vrf Tenant_A_DB_Zone +ip routing vrf Tenant_A_OP_Zone +ip routing vrf Tenant_A_WEB_Zone +ip routing vrf Tenant_B_OP_Zone +ip routing vrf Tenant_C_OP_Zone ``` ## IPv6 Routing @@ -963,6 +963,12 @@ ip route vrf MGMT 0.0.0.0/0 192.168.200.5 | 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | | 192.168.255.3 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | | 192.168.255.4 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | +| 10.255.251.2 | Inherited from peer group MLAG_PEER | Tenant_A_APP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.2 | Inherited from peer group MLAG_PEER | Tenant_A_DB_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.2 | Inherited from peer group MLAG_PEER | Tenant_A_OP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.2 | Inherited from peer group MLAG_PEER | Tenant_A_WEB_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.2 | Inherited from peer group MLAG_PEER | Tenant_B_OP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | +| 10.255.251.2 | Inherited from peer group MLAG_PEER | Tenant_C_OP_Zone | - | Inherited from peer group MLAG_PEER | Inherited from peer group MLAG_PEER | - | - | - | - | ### BGP Neighbor Interfaces @@ -973,12 +979,6 @@ ip route vrf MGMT 0.0.0.0/0 192.168.200.5 | Ethernet3 | default | UNDERLAY_PEERS | 65001 | - | | Ethernet4 | default | UNDERLAY_PEERS | 65001 | - | | Vlan4093 | default | MLAG_PEER | 65102 | - | -| Vlan3011 | Tenant_A_APP_Zone | MLAG_PEER | 65102 | - | -| Vlan3012 | Tenant_A_DB_Zone | MLAG_PEER | 65102 | - | -| Vlan3009 | Tenant_A_OP_Zone | MLAG_PEER | 65102 | - | -| Vlan3010 | Tenant_A_WEB_Zone | MLAG_PEER | 65102 | - | -| Vlan3019 | Tenant_B_OP_Zone | MLAG_PEER | 65102 | - | -| Vlan2 | Tenant_C_OP_Zone | MLAG_PEER | 65102 | - | ### Router BGP EVPN Address Family @@ -1129,48 +1129,66 @@ router bgp 65102 route-target import evpn 12:12 route-target export evpn 12:12 router-id 192.168.255.7 - neighbor interface Vlan3011 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.7:13 route-target import evpn 13:13 route-target export evpn 13:13 router-id 192.168.255.7 - neighbor interface Vlan3012 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.7:10 route-target import evpn 10:10 route-target export evpn 10:10 router-id 192.168.255.7 - neighbor interface Vlan3009 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.7:11 route-target import evpn 11:11 route-target export evpn 11:11 router-id 192.168.255.7 - neighbor interface Vlan3010 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.7:20 route-target import evpn 20:20 route-target export evpn 20:20 router-id 192.168.255.7 - neighbor interface Vlan3019 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.7:30 route-target import evpn 30:30 route-target export evpn 30:30 router-id 192.168.255.7 - neighbor interface Vlan2 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ``` # BFD @@ -1273,12 +1291,12 @@ route-map RM-MLAG-PEER-IN permit 10 | VRF Name | IP Routing | | -------- | ---------- | | MGMT | disabled | -| Tenant_A_APP_Zone | enabled (ipv6 interface) | -| Tenant_A_DB_Zone | enabled (ipv6 interface) | -| Tenant_A_OP_Zone | enabled (ipv6 interface) | -| Tenant_A_WEB_Zone | enabled (ipv6 interface) | -| Tenant_B_OP_Zone | enabled (ipv6 interface) | -| Tenant_C_OP_Zone | enabled (ipv6 interface) | +| Tenant_A_APP_Zone | enabled | +| Tenant_A_DB_Zone | enabled | +| Tenant_A_OP_Zone | enabled | +| Tenant_A_WEB_Zone | enabled | +| Tenant_B_OP_Zone | enabled | +| Tenant_C_OP_Zone | enabled | ## VRF Instances Device Configuration diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md index 02902b4de2a..58dbe676e92 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3A.md @@ -800,18 +800,24 @@ ip routing ipv6 interfaces vrf Tenant_C_OP_Zone | --- | --------------- | | default | True | | MGMT | false | -| Tenant_A_APP_Zone | false | -| Tenant_A_DB_Zone | false | -| Tenant_A_OP_Zone | false | -| Tenant_A_WEB_Zone | false | -| Tenant_B_OP_Zone | false | -| Tenant_C_OP_Zone | false | +| Tenant_A_APP_Zone | true | +| Tenant_A_DB_Zone | true | +| Tenant_A_OP_Zone | true | +| Tenant_A_WEB_Zone | true | +| Tenant_B_OP_Zone | true | +| Tenant_C_OP_Zone | true | ### IPv6 Routing Device Configuration ```eos ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ``` ## Static Routes diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md index 85bc93b44f8..dfcbf3534f6 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF3B.md @@ -800,18 +800,24 @@ ip routing ipv6 interfaces vrf Tenant_C_OP_Zone | --- | --------------- | | default | True | | MGMT | false | -| Tenant_A_APP_Zone | false | -| Tenant_A_DB_Zone | false | -| Tenant_A_OP_Zone | false | -| Tenant_A_WEB_Zone | false | -| Tenant_B_OP_Zone | false | -| Tenant_C_OP_Zone | false | +| Tenant_A_APP_Zone | true | +| Tenant_A_DB_Zone | true | +| Tenant_A_OP_Zone | true | +| Tenant_A_WEB_Zone | true | +| Tenant_B_OP_Zone | true | +| Tenant_C_OP_Zone | true | ### IPv6 Routing Device Configuration ```eos ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ``` ## Static Routes diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md index 696fda0c2bc..3c05f384411 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4A.md @@ -800,18 +800,24 @@ ip routing ipv6 interfaces vrf Tenant_C_OP_Zone | --- | --------------- | | default | True | | MGMT | false | -| Tenant_A_APP_Zone | false | -| Tenant_A_DB_Zone | false | -| Tenant_A_OP_Zone | false | -| Tenant_A_WEB_Zone | false | -| Tenant_B_OP_Zone | false | -| Tenant_C_OP_Zone | false | +| Tenant_A_APP_Zone | true | +| Tenant_A_DB_Zone | true | +| Tenant_A_OP_Zone | true | +| Tenant_A_WEB_Zone | true | +| Tenant_B_OP_Zone | true | +| Tenant_C_OP_Zone | true | ### IPv6 Routing Device Configuration ```eos ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ``` ## Static Routes diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md index a4da31d1ef1..897426fb37e 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF4B.md @@ -800,18 +800,24 @@ ip routing ipv6 interfaces vrf Tenant_C_OP_Zone | --- | --------------- | | default | True | | MGMT | false | -| Tenant_A_APP_Zone | false | -| Tenant_A_DB_Zone | false | -| Tenant_A_OP_Zone | false | -| Tenant_A_WEB_Zone | false | -| Tenant_B_OP_Zone | false | -| Tenant_C_OP_Zone | false | +| Tenant_A_APP_Zone | true | +| Tenant_A_DB_Zone | true | +| Tenant_A_OP_Zone | true | +| Tenant_A_WEB_Zone | true | +| Tenant_B_OP_Zone | true | +| Tenant_C_OP_Zone | true | ### IPv6 Routing Device Configuration ```eos ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ``` ## Static Routes diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md index 3967efa9183..3becab570b4 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md @@ -1052,21 +1052,30 @@ ip routing ipv6 interfaces vrf Tenant_C_WAN_Zone | --- | --------------- | | default | True | | MGMT | false | -| Tenant_A_APP_Zone | false | -| Tenant_A_DB_Zone | false | -| Tenant_A_OP_Zone | false | -| Tenant_A_WAN_Zone | false | -| Tenant_A_WEB_Zone | false | -| Tenant_B_OP_Zone | false | -| Tenant_B_WAN_Zone | false | -| Tenant_C_OP_Zone | false | -| Tenant_C_WAN_Zone | false | +| Tenant_A_APP_Zone | true | +| Tenant_A_DB_Zone | true | +| Tenant_A_OP_Zone | true | +| Tenant_A_WAN_Zone | true | +| Tenant_A_WEB_Zone | true | +| Tenant_B_OP_Zone | true | +| Tenant_B_WAN_Zone | true | +| Tenant_C_OP_Zone | true | +| Tenant_C_WAN_Zone | true | ### IPv6 Routing Device Configuration ```eos ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WAN_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_B_WAN_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone +ipv6 unicast-routing vrf Tenant_C_WAN_Zone ``` ## Static Routes diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md index 5b80c7ce462..dc814ffcfc9 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md @@ -1037,21 +1037,30 @@ ip routing ipv6 interfaces vrf Tenant_C_WAN_Zone | --- | --------------- | | default | True | | MGMT | false | -| Tenant_A_APP_Zone | false | -| Tenant_A_DB_Zone | false | -| Tenant_A_OP_Zone | false | -| Tenant_A_WAN_Zone | false | -| Tenant_A_WEB_Zone | false | -| Tenant_B_OP_Zone | false | -| Tenant_B_WAN_Zone | false | -| Tenant_C_OP_Zone | false | -| Tenant_C_WAN_Zone | false | +| Tenant_A_APP_Zone | true | +| Tenant_A_DB_Zone | true | +| Tenant_A_OP_Zone | true | +| Tenant_A_WAN_Zone | true | +| Tenant_A_WEB_Zone | true | +| Tenant_B_OP_Zone | true | +| Tenant_B_WAN_Zone | true | +| Tenant_C_OP_Zone | true | +| Tenant_C_WAN_Zone | true | ### IPv6 Routing Device Configuration ```eos ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WAN_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_B_WAN_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone +ipv6 unicast-routing vrf Tenant_C_WAN_Zone ``` ## Static Routes diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/fabric/DC1_FABRIC-documentation.md b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/fabric/DC1_FABRIC-documentation.md index 28b269ea9d4..1289db1915a 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/fabric/DC1_FABRIC-documentation.md +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/documentation/fabric/DC1_FABRIC-documentation.md @@ -29,12 +29,12 @@ | DC1_FABRIC | l3leaf | DC1-LEAF3B | 192.168.200.107/24 | 7280R | Provisioned | | DC1_FABRIC | l3leaf | DC1-LEAF4A | 192.168.200.106/24 | 7280R | Provisioned | | DC1_FABRIC | l3leaf | DC1-LEAF4B | 192.168.200.107/24 | 7280R | Provisioned | -| DC1_FABRIC | spine | DC1-SPINE1 | 192.168.200.101/24 | vEOS-LAB | Provisioned | -| DC1_FABRIC | spine | DC1-SPINE2 | 192.168.200.102/24 | vEOS-LAB | Provisioned | -| DC1_FABRIC | spine | DC1-SPINE3 | 192.168.200.103/24 | vEOS-LAB | Provisioned | -| DC1_FABRIC | spine | DC1-SPINE4 | 192.168.200.104/24 | vEOS-LAB | Provisioned | -| DC1_FABRIC | spine | DC1-SPINE5 | 192.168.200.105/24 | vEOS-LAB | Provisioned | -| DC1_FABRIC | spine | DC1-SPINE6 | 192.168.200.105/24 | vEOS-LAB | Provisioned | +| DC1_FABRIC | spine | DC1-SPINE1 | 192.168.200.101/24 | 7050X3 | Provisioned | +| DC1_FABRIC | spine | DC1-SPINE2 | 192.168.200.102/24 | 7050X3 | Provisioned | +| DC1_FABRIC | spine | DC1-SPINE3 | 192.168.200.103/24 | 7050X3 | Provisioned | +| DC1_FABRIC | spine | DC1-SPINE4 | 192.168.200.104/24 | 7050X3 | Provisioned | +| DC1_FABRIC | spine | DC1-SPINE5 | 192.168.200.105/24 | 7050X3 | Provisioned | +| DC1_FABRIC | spine | DC1-SPINE6 | 192.168.200.105/24 | 7050X3 | Provisioned | | DC1_FABRIC | l3leaf | DC1-SVC3A | 192.168.200.108/24 | 7280R | Provisioned | | DC1_FABRIC | l3leaf | DC1-SVC3B | 192.168.200.109/24 | 7280R | Provisioned | diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg index 04d8abf1445..55488a171b5 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg @@ -244,7 +244,7 @@ interface Vlan2 no shutdown mtu 1500 vrf Tenant_C_OP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan110 description Tenant_A_OP_Zone_1 @@ -326,35 +326,35 @@ interface Vlan3009 no shutdown mtu 1500 vrf Tenant_A_OP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3010 description MLAG_PEER_L3_iBGP: vrf Tenant_A_WEB_Zone no shutdown mtu 1500 vrf Tenant_A_WEB_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3011 description MLAG_PEER_L3_iBGP: vrf Tenant_A_APP_Zone no shutdown mtu 1500 vrf Tenant_A_APP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3012 description MLAG_PEER_L3_iBGP: vrf Tenant_A_DB_Zone no shutdown mtu 1500 vrf Tenant_A_DB_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan3019 description MLAG_PEER_L3_iBGP: vrf Tenant_B_OP_Zone no shutdown mtu 1500 vrf Tenant_B_OP_Zone - ipv6 enable + ip address 10.255.251.2/31 ! interface Vlan4093 description MLAG_PEER_L3_PEERING @@ -404,12 +404,12 @@ ip address virtual source-nat vrf Tenant_A_OP_Zone address 10.255.1.6 ! ip routing ipv6 interfaces no ip routing vrf MGMT -ip routing ipv6 interfaces vrf Tenant_A_APP_Zone -ip routing ipv6 interfaces vrf Tenant_A_DB_Zone -ip routing ipv6 interfaces vrf Tenant_A_OP_Zone -ip routing ipv6 interfaces vrf Tenant_A_WEB_Zone -ip routing ipv6 interfaces vrf Tenant_B_OP_Zone -ip routing ipv6 interfaces vrf Tenant_C_OP_Zone +ip routing vrf Tenant_A_APP_Zone +ip routing vrf Tenant_A_DB_Zone +ip routing vrf Tenant_A_OP_Zone +ip routing vrf Tenant_A_WEB_Zone +ip routing vrf Tenant_B_OP_Zone +ip routing vrf Tenant_C_OP_Zone ! ipv6 unicast-routing ! @@ -544,48 +544,66 @@ router bgp 65102 route-target import evpn 12:12 route-target export evpn 12:12 router-id 192.168.255.6 - neighbor interface Vlan3011 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.6:13 route-target import evpn 13:13 route-target export evpn 13:13 router-id 192.168.255.6 - neighbor interface Vlan3012 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.6:10 route-target import evpn 10:10 route-target export evpn 10:10 router-id 192.168.255.6 - neighbor interface Vlan3009 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.6:11 route-target import evpn 11:11 route-target export evpn 11:11 router-id 192.168.255.6 - neighbor interface Vlan3010 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.6:20 route-target import evpn 20:20 route-target export evpn 20:20 router-id 192.168.255.6 - neighbor interface Vlan3019 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.6:30 route-target import evpn 30:30 route-target export evpn 30:30 router-id 192.168.255.6 - neighbor interface Vlan2 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! management api http-commands protocol https diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg index 99e1bb204af..9a6d09093ec 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg @@ -244,7 +244,7 @@ interface Vlan2 no shutdown mtu 1500 vrf Tenant_C_OP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan110 description Tenant_A_OP_Zone_1 @@ -326,35 +326,35 @@ interface Vlan3009 no shutdown mtu 1500 vrf Tenant_A_OP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3010 description MLAG_PEER_L3_iBGP: vrf Tenant_A_WEB_Zone no shutdown mtu 1500 vrf Tenant_A_WEB_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3011 description MLAG_PEER_L3_iBGP: vrf Tenant_A_APP_Zone no shutdown mtu 1500 vrf Tenant_A_APP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3012 description MLAG_PEER_L3_iBGP: vrf Tenant_A_DB_Zone no shutdown mtu 1500 vrf Tenant_A_DB_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan3019 description MLAG_PEER_L3_iBGP: vrf Tenant_B_OP_Zone no shutdown mtu 1500 vrf Tenant_B_OP_Zone - ipv6 enable + ip address 10.255.251.3/31 ! interface Vlan4093 description MLAG_PEER_L3_PEERING @@ -404,12 +404,12 @@ ip address virtual source-nat vrf Tenant_A_OP_Zone address 10.255.1.7 ! ip routing ipv6 interfaces no ip routing vrf MGMT -ip routing ipv6 interfaces vrf Tenant_A_APP_Zone -ip routing ipv6 interfaces vrf Tenant_A_DB_Zone -ip routing ipv6 interfaces vrf Tenant_A_OP_Zone -ip routing ipv6 interfaces vrf Tenant_A_WEB_Zone -ip routing ipv6 interfaces vrf Tenant_B_OP_Zone -ip routing ipv6 interfaces vrf Tenant_C_OP_Zone +ip routing vrf Tenant_A_APP_Zone +ip routing vrf Tenant_A_DB_Zone +ip routing vrf Tenant_A_OP_Zone +ip routing vrf Tenant_A_WEB_Zone +ip routing vrf Tenant_B_OP_Zone +ip routing vrf Tenant_C_OP_Zone ! ipv6 unicast-routing ! @@ -544,48 +544,66 @@ router bgp 65102 route-target import evpn 12:12 route-target export evpn 12:12 router-id 192.168.255.7 - neighbor interface Vlan3011 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.7:13 route-target import evpn 13:13 route-target export evpn 13:13 router-id 192.168.255.7 - neighbor interface Vlan3012 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.7:10 route-target import evpn 10:10 route-target export evpn 10:10 router-id 192.168.255.7 - neighbor interface Vlan3009 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.7:11 route-target import evpn 11:11 route-target export evpn 11:11 router-id 192.168.255.7 - neighbor interface Vlan3010 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.7:20 route-target import evpn 20:20 route-target export evpn 20:20 router-id 192.168.255.7 - neighbor interface Vlan3019 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.7:30 route-target import evpn 30:30 route-target export evpn 30:30 router-id 192.168.255.7 - neighbor interface Vlan2 peer-group MLAG_PEER remote-as 65102 + neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! management api http-commands protocol https diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3A.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3A.cfg index 8a0d2d08c32..0458326f84d 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3A.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3A.cfg @@ -341,6 +341,12 @@ ip routing ipv6 interfaces vrf Tenant_B_OP_Zone ip routing ipv6 interfaces vrf Tenant_C_OP_Zone ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ! ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY seq 10 permit 192.168.255.0/24 eq 32 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3B.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3B.cfg index 117088396ed..b2e167aa183 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3B.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF3B.cfg @@ -341,6 +341,12 @@ ip routing ipv6 interfaces vrf Tenant_B_OP_Zone ip routing ipv6 interfaces vrf Tenant_C_OP_Zone ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ! ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY seq 10 permit 192.168.255.0/24 eq 32 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4A.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4A.cfg index e4b2c717cc7..19705a29487 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4A.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4A.cfg @@ -341,6 +341,12 @@ ip routing ipv6 interfaces vrf Tenant_B_OP_Zone ip routing ipv6 interfaces vrf Tenant_C_OP_Zone ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ! ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY seq 10 permit 192.168.255.0/24 eq 32 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4B.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4B.cfg index b7a653484f6..fb02bb0c413 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4B.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF4B.cfg @@ -341,6 +341,12 @@ ip routing ipv6 interfaces vrf Tenant_B_OP_Zone ip routing ipv6 interfaces vrf Tenant_C_OP_Zone ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone ! ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY seq 10 permit 192.168.255.0/24 eq 32 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg index 0e94812efa0..b5a0835266f 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg @@ -557,6 +557,15 @@ ip routing ipv6 interfaces vrf Tenant_C_OP_Zone ip routing ipv6 interfaces vrf Tenant_C_WAN_Zone ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WAN_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_B_WAN_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone +ipv6 unicast-routing vrf Tenant_C_WAN_Zone ! ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY seq 10 permit 192.168.255.0/24 eq 32 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg index b78e8a72eea..3467fe13a81 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg @@ -544,6 +544,15 @@ ip routing ipv6 interfaces vrf Tenant_C_OP_Zone ip routing ipv6 interfaces vrf Tenant_C_WAN_Zone ! ipv6 unicast-routing +ipv6 unicast-routing vrf Tenant_A_APP_Zone +ipv6 unicast-routing vrf Tenant_A_DB_Zone +ipv6 unicast-routing vrf Tenant_A_OP_Zone +ipv6 unicast-routing vrf Tenant_A_WAN_Zone +ipv6 unicast-routing vrf Tenant_A_WEB_Zone +ipv6 unicast-routing vrf Tenant_B_OP_Zone +ipv6 unicast-routing vrf Tenant_B_WAN_Zone +ipv6 unicast-routing vrf Tenant_C_OP_Zone +ipv6 unicast-routing vrf Tenant_C_WAN_Zone ! ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY seq 10 permit 192.168.255.0/24 eq 32 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml index 5a222d768ff..5269208fa75 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml @@ -102,11 +102,15 @@ router_bgp: - '12:12' redistribute_routes: - connected - neighbor_interfaces: - Vlan3011: + neighbors: + 10.255.251.3: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2B + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_DB_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:13 @@ -119,11 +123,15 @@ router_bgp: - '13:13' redistribute_routes: - connected - neighbor_interfaces: - Vlan3012: + neighbors: + 10.255.251.3: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2B + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_OP_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:10 @@ -136,11 +144,15 @@ router_bgp: - '10:10' redistribute_routes: - connected - neighbor_interfaces: - Vlan3009: + neighbors: + 10.255.251.3: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2B + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WEB_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:11 @@ -153,11 +165,15 @@ router_bgp: - '11:11' redistribute_routes: - connected - neighbor_interfaces: - Vlan3010: + neighbors: + 10.255.251.3: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2B + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_OP_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:20 @@ -170,11 +186,15 @@ router_bgp: - '20:20' redistribute_routes: - connected - neighbor_interfaces: - Vlan3019: + neighbors: + 10.255.251.3: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2B + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_OP_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:30 @@ -187,11 +207,15 @@ router_bgp: - '30:30' redistribute_routes: - connected - neighbor_interfaces: - Vlan2: + neighbors: + 10.255.251.3: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2B + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false vlan_aware_bundles: Tenant_A_APP_Zone: rd: 192.168.255.6:12 @@ -307,22 +331,22 @@ vrfs: ip_routing: false Tenant_A_APP_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_A_DB_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_A_OP_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_B_OP_Zone: tenant: Tenant_B - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_C_OP_Zone: tenant: Tenant_C - ip_routing_ipv6_interfaces: true + ip_routing: true management_interfaces: Management1: description: oob_management @@ -460,7 +484,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_APP_Zone' vrf: Tenant_A_APP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.2/31 Vlan140: tenant: Tenant_A tags: @@ -485,7 +509,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_DB_Zone' vrf: Tenant_A_DB_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.2/31 Vlan110: tenant: Tenant_A tags: @@ -513,7 +537,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_OP_Zone' vrf: Tenant_A_OP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.2/31 Vlan120: tenant: Tenant_A tags: @@ -543,7 +567,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_WEB_Zone' vrf: Tenant_A_WEB_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.2/31 Vlan210: tenant: Tenant_B tags: @@ -567,7 +591,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_B_OP_Zone' vrf: Tenant_B_OP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.2/31 Vlan310: tenant: Tenant_C tags: @@ -591,7 +615,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_C_OP_Zone' vrf: Tenant_C_OP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.2/31 port_channel_interfaces: Port-Channel5: description: MLAG_PEER_DC1-LEAF2B_Po5 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml index 540df1e8fca..9820d2757e7 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml @@ -102,11 +102,15 @@ router_bgp: - '12:12' redistribute_routes: - connected - neighbor_interfaces: - Vlan3011: + neighbors: + 10.255.251.2: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2A + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_DB_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:13 @@ -119,11 +123,15 @@ router_bgp: - '13:13' redistribute_routes: - connected - neighbor_interfaces: - Vlan3012: + neighbors: + 10.255.251.2: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2A + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_OP_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:10 @@ -136,11 +144,15 @@ router_bgp: - '10:10' redistribute_routes: - connected - neighbor_interfaces: - Vlan3009: + neighbors: + 10.255.251.2: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2A + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WEB_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:11 @@ -153,11 +165,15 @@ router_bgp: - '11:11' redistribute_routes: - connected - neighbor_interfaces: - Vlan3010: + neighbors: + 10.255.251.2: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2A + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_OP_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:20 @@ -170,11 +186,15 @@ router_bgp: - '20:20' redistribute_routes: - connected - neighbor_interfaces: - Vlan3019: + neighbors: + 10.255.251.2: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2A + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_OP_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:30 @@ -187,11 +207,15 @@ router_bgp: - '30:30' redistribute_routes: - connected - neighbor_interfaces: - Vlan2: + neighbors: + 10.255.251.2: peer_group: MLAG_PEER - remote_as: '65102' - description: DC1-LEAF2A + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false vlan_aware_bundles: Tenant_A_APP_Zone: rd: 192.168.255.7:12 @@ -307,22 +331,22 @@ vrfs: ip_routing: false Tenant_A_APP_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_A_DB_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_A_OP_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_B_OP_Zone: tenant: Tenant_B - ip_routing_ipv6_interfaces: true + ip_routing: true Tenant_C_OP_Zone: tenant: Tenant_C - ip_routing_ipv6_interfaces: true + ip_routing: true management_interfaces: Management1: description: oob_management @@ -460,7 +484,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_APP_Zone' vrf: Tenant_A_APP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.3/31 Vlan140: tenant: Tenant_A tags: @@ -485,7 +509,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_DB_Zone' vrf: Tenant_A_DB_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.3/31 Vlan110: tenant: Tenant_A tags: @@ -513,7 +537,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_OP_Zone' vrf: Tenant_A_OP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.3/31 Vlan120: tenant: Tenant_A tags: @@ -543,7 +567,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_A_WEB_Zone' vrf: Tenant_A_WEB_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.3/31 Vlan210: tenant: Tenant_B tags: @@ -567,7 +591,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_B_OP_Zone' vrf: Tenant_B_OP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.3/31 Vlan310: tenant: Tenant_C tags: @@ -591,7 +615,7 @@ vlan_interfaces: description: 'MLAG_PEER_L3_iBGP: vrf Tenant_C_OP_Zone' vrf: Tenant_C_OP_Zone mtu: 1500 - ipv6_enable: true + ip_address: 10.255.251.3/31 port_channel_interfaces: Port-Channel5: description: MLAG_PEER_DC1-LEAF2A_Po5 diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3A.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3A.yml index a3d47839db5..fab86e936f4 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3A.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3A.yml @@ -290,21 +290,27 @@ vrfs: Tenant_A_APP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_DB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_OP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_OP_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_OP_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true management_interfaces: Management1: description: oob_management diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3B.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3B.yml index 29f09f2c2eb..3872898aea3 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3B.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF3B.yml @@ -290,21 +290,27 @@ vrfs: Tenant_A_APP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_DB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_OP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_OP_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_OP_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true management_interfaces: Management1: description: oob_management diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4A.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4A.yml index f8e48916a85..ddf35b5a7ee 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4A.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4A.yml @@ -290,21 +290,27 @@ vrfs: Tenant_A_APP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_DB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_OP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_OP_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_OP_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true management_interfaces: Management1: description: oob_management diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4B.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4B.yml index 4d204047ab9..4a794861d30 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4B.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF4B.yml @@ -290,21 +290,27 @@ vrfs: Tenant_A_APP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_DB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_OP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_OP_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_OP_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true management_interfaces: Management1: description: oob_management diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml index 87f3309b49b..19d6c5303c3 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml @@ -383,30 +383,39 @@ vrfs: Tenant_A_APP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_DB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_OP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WAN_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_OP_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_WAN_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_OP_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_WAN_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true management_interfaces: Management1: description: oob_management diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml index 5946661ee41..911a403b1c2 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml @@ -383,30 +383,39 @@ vrfs: Tenant_A_APP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_DB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_OP_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WAN_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_A_WEB_Zone: tenant: Tenant_A ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_OP_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_B_WAN_Zone: tenant: Tenant_B ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_OP_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true Tenant_C_WAN_Zone: tenant: Tenant_C ip_routing_ipv6_interfaces: true + ipv6_routing: true management_interfaces: Management1: description: oob_management diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/inventory/group_vars/DC1_FABRIC.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/inventory/group_vars/DC1_FABRIC.yml index 3eb3f3ee4ca..42b89771176 100644 --- a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/inventory/group_vars/DC1_FABRIC.yml +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/inventory/group_vars/DC1_FABRIC.yml @@ -10,6 +10,10 @@ fabric_name: DC1_FABRIC # Point to Point Underlay with IPv6 Unnumbered underlay_rfc5549: true + +# Test if overlay_mlag_rfc5549 is True +# Results to the following EOS config: +# ipv6 unicast-routing vrf overlay_mlag_rfc5549: true overlay_routing_protocol_address_family: ipv4 @@ -36,7 +40,7 @@ bgp_peer_groups: # Spine Switches spine: defaults: - platform: vEOS-LAB + platform: 7050X3 bgp_as: 65001 loopback_ipv4_pool: 192.168.255.0/24 bgp_defaults: ['no bgp default ipv4-unicast', 'distance bgp 20 200 200'] diff --git a/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/inventory/group_vars/DC1_LEAF2.yml b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/inventory/group_vars/DC1_LEAF2.yml new file mode 100644 index 00000000000..7ff440df78d --- /dev/null +++ b/ansible_collections/arista/avd/molecule/evpn_underlay_rfc5549_overlay_ebgp/inventory/group_vars/DC1_LEAF2.yml @@ -0,0 +1,9 @@ +--- + +# Test if underlay_rfc5549 is True and overlay_mlag_rfc5549 is False +# Results to the following EOS config: +# router_bgp +# vrf +# address-family ipv4 +# no neighbor next-hop address-family ipv6 +overlay_mlag_rfc5549: false diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md index a068aa2cbff..2861ae9a008 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2A.md @@ -1135,6 +1135,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.6:13 @@ -1143,6 +1146,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.6:10 @@ -1151,6 +1157,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.6:11 @@ -1159,6 +1168,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.6:20 @@ -1167,6 +1179,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.6:30 @@ -1175,6 +1190,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ``` # BFD diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md index c1b6c5b2b7e..fe23129ec1f 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-LEAF2B.md @@ -1135,6 +1135,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.7:13 @@ -1143,6 +1146,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.7:10 @@ -1151,6 +1157,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.7:11 @@ -1159,6 +1168,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.7:20 @@ -1167,6 +1179,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.7:30 @@ -1175,6 +1190,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ``` # BFD diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md index 4bc07f8389f..bd78d6809b5 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3A.md @@ -1336,6 +1336,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.8:13 @@ -1344,6 +1347,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.8:10 @@ -1352,6 +1358,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_WAN_Zone rd 192.168.255.8:14 @@ -1360,6 +1369,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.8:11 @@ -1368,6 +1380,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.8:20 @@ -1376,6 +1391,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_B_WAN_Zone rd 192.168.255.8:21 @@ -1384,6 +1402,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.8:30 @@ -1392,6 +1413,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_C_WAN_Zone rd 192.168.255.8:31 @@ -1400,6 +1424,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ``` # BFD diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md index d2af26ae5b5..5a04fcf3174 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/documentation/devices/DC1-SVC3B.md @@ -1321,6 +1321,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.9:13 @@ -1329,6 +1332,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.9:10 @@ -1337,6 +1343,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_WAN_Zone rd 192.168.255.9:14 @@ -1345,6 +1354,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.9:11 @@ -1353,6 +1365,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.9:20 @@ -1361,6 +1376,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_B_WAN_Zone rd 192.168.255.9:21 @@ -1369,6 +1387,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.9:30 @@ -1377,6 +1398,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_C_WAN_Zone rd 192.168.255.9:31 @@ -1385,6 +1409,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ``` # BFD diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg index 86005ba5798..f2f5375d7a4 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2A.cfg @@ -548,6 +548,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.6:13 @@ -556,6 +559,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.6:10 @@ -564,6 +570,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.6:11 @@ -572,6 +581,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.6:20 @@ -580,6 +592,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.6:30 @@ -588,6 +603,9 @@ router bgp 65102 router-id 192.168.255.6 neighbor 10.255.251.3 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.3 next-hop address-family ipv6 ! management api http-commands protocol https diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg index 3e4cd7c3b1d..75bba391058 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-LEAF2B.cfg @@ -548,6 +548,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.7:13 @@ -556,6 +559,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.7:10 @@ -564,6 +570,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.7:11 @@ -572,6 +581,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.7:20 @@ -580,6 +592,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.7:30 @@ -588,6 +603,9 @@ router bgp 65102 router-id 192.168.255.7 neighbor 10.255.251.2 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.2 next-hop address-family ipv6 ! management api http-commands protocol https diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg index bf0c59d3cbe..287efafcfb9 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3A.cfg @@ -711,6 +711,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.8:13 @@ -719,6 +722,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.8:10 @@ -727,6 +733,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_WAN_Zone rd 192.168.255.8:14 @@ -735,6 +744,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.8:11 @@ -743,6 +755,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.8:20 @@ -751,6 +766,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_B_WAN_Zone rd 192.168.255.8:21 @@ -759,6 +777,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.8:30 @@ -767,6 +788,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! vrf Tenant_C_WAN_Zone rd 192.168.255.8:31 @@ -775,6 +799,9 @@ router bgp 65103 router-id 192.168.255.8 neighbor 10.255.251.7 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.7 next-hop address-family ipv6 ! management api http-commands protocol https diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg index 9b2e719c700..6a44ac97bf8 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/configs/DC1-SVC3B.cfg @@ -698,6 +698,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_DB_Zone rd 192.168.255.9:13 @@ -706,6 +709,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_OP_Zone rd 192.168.255.9:10 @@ -714,6 +720,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_WAN_Zone rd 192.168.255.9:14 @@ -722,6 +731,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_A_WEB_Zone rd 192.168.255.9:11 @@ -730,6 +742,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_B_OP_Zone rd 192.168.255.9:20 @@ -738,6 +753,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_B_WAN_Zone rd 192.168.255.9:21 @@ -746,6 +764,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_C_OP_Zone rd 192.168.255.9:30 @@ -754,6 +775,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! vrf Tenant_C_WAN_Zone rd 192.168.255.9:31 @@ -762,6 +786,9 @@ router bgp 65103 router-id 192.168.255.9 neighbor 10.255.251.6 peer group MLAG_PEER redistribute connected + ! + address-family ipv4 + no neighbor 10.255.251.6 next-hop address-family ipv6 ! management api http-commands protocol https diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml index 66e795cbd2a..fc59a0daa9f 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2A.yml @@ -107,6 +107,12 @@ router_bgp: neighbors: 10.255.251.3: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_DB_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:13 @@ -122,6 +128,12 @@ router_bgp: neighbors: 10.255.251.3: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_OP_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:10 @@ -137,6 +149,12 @@ router_bgp: neighbors: 10.255.251.3: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WEB_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:11 @@ -152,6 +170,12 @@ router_bgp: neighbors: 10.255.251.3: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_OP_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:20 @@ -167,6 +191,12 @@ router_bgp: neighbors: 10.255.251.3: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_OP_Zone: router_id: 192.168.255.6 rd: 192.168.255.6:30 @@ -182,6 +212,12 @@ router_bgp: neighbors: 10.255.251.3: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.3: + next_hop: + address_family_ipv6: + enabled: false vlan_aware_bundles: Tenant_A_APP_Zone: rd: 192.168.255.6:12 diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml index df80fd9e47d..2ec8e18b09a 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-LEAF2B.yml @@ -107,6 +107,12 @@ router_bgp: neighbors: 10.255.251.2: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_DB_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:13 @@ -122,6 +128,12 @@ router_bgp: neighbors: 10.255.251.2: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_OP_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:10 @@ -137,6 +149,12 @@ router_bgp: neighbors: 10.255.251.2: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WEB_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:11 @@ -152,6 +170,12 @@ router_bgp: neighbors: 10.255.251.2: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_OP_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:20 @@ -167,6 +191,12 @@ router_bgp: neighbors: 10.255.251.2: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_OP_Zone: router_id: 192.168.255.7 rd: 192.168.255.7:30 @@ -182,6 +212,12 @@ router_bgp: neighbors: 10.255.251.2: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.2: + next_hop: + address_family_ipv6: + enabled: false vlan_aware_bundles: Tenant_A_APP_Zone: rd: 192.168.255.7:12 diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml index 480ea5fdf06..d01fd538121 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3A.yml @@ -107,6 +107,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_DB_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:13 @@ -122,6 +128,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_OP_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:10 @@ -137,6 +149,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WAN_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:14 @@ -152,6 +170,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WEB_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:11 @@ -167,6 +191,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_OP_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:20 @@ -182,6 +212,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_WAN_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:21 @@ -197,6 +233,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_OP_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:30 @@ -212,6 +254,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_WAN_Zone: router_id: 192.168.255.8 rd: 192.168.255.8:31 @@ -227,6 +275,12 @@ router_bgp: neighbors: 10.255.251.7: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.7: + next_hop: + address_family_ipv6: + enabled: false vlan_aware_bundles: Tenant_A_APP_Zone: rd: 192.168.255.8:12 diff --git a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml index 2b5c7c3bf4b..8067166ff07 100644 --- a/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml +++ b/ansible_collections/arista/avd/molecule/upgrade_v2.x_to_v3.0_evpn_underlay_rfc5549_overlay_ebgp/intended/structured_configs/DC1-SVC3B.yml @@ -107,6 +107,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_DB_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:13 @@ -122,6 +128,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_OP_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:10 @@ -137,6 +149,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WAN_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:14 @@ -152,6 +170,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_A_WEB_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:11 @@ -167,6 +191,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_OP_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:20 @@ -182,6 +212,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_B_WAN_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:21 @@ -197,6 +233,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_OP_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:30 @@ -212,6 +254,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false Tenant_C_WAN_Zone: router_id: 192.168.255.9 rd: 192.168.255.9:31 @@ -227,6 +275,12 @@ router_bgp: neighbors: 10.255.251.6: peer_group: MLAG_PEER + address_family_ipv4: + neighbors: + 10.255.251.6: + next_hop: + address_family_ipv6: + enabled: false vlan_aware_bundles: Tenant_A_APP_Zone: rd: 192.168.255.9:12 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md index 646e1127f50..0816c2e6b88 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/Input Variables.md @@ -4501,6 +4501,40 @@ router_bfd: | [          summary_only](## "router_bgp.vrfs.[].aggregate_addresses.[].summary_only") | Boolean | | | | | | [          attribute_map](## "router_bgp.vrfs.[].aggregate_addresses.[].attribute_map") | String | | | | | | [          match_map](## "router_bgp.vrfs.[].aggregate_addresses.[].match_map") | String | | | | | +| [      address_family_ipv4](## "router_bgp.vrfs.[].address_family_ipv4") | Dictionary | | | | | +| [        bgp](## "router_bgp.vrfs.[].address_family_ipv4.bgp") | Dictionary | | | | | +| [          missing_policy](## "router_bgp.vrfs.[].address_family_ipv4.bgp.missing_policy") | Dictionary | | | | | +| [            direction_in_action](## "router_bgp.vrfs.[].address_family_ipv4.bgp.missing_policy.direction_in_action") | String | | | Valid Values:
- deny
- deny-in-out
- permit | | +| [            direction_out_action](## "router_bgp.vrfs.[].address_family_ipv4.bgp.missing_policy.direction_out_action") | String | | | Valid Values:
- deny
- deny-in-out
- permit | | +| [          additional_paths](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths") | Dictionary | | | | | +| [            install](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.install") | Boolean | | | | | +| [            install_ecmp_primary](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.install_ecmp_primary") | Boolean | | | | | +| [            receive](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.receive") | Boolean | | | | | +| [            send](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.send") | Dictionary | | | | | +| [              any](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.send.any") | Boolean | | | | | +| [              backup](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.send.backup") | Boolean | | | | | +| [              ecmp](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.send.ecmp") | Boolean | | | | | +| [              ecmp_limit](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.send.ecmp_limit") | Integer | | | Min: 2
Max: 64 | Amount of ECMP paths to send | +| [              limit](## "router_bgp.vrfs.[].address_family_ipv4.bgp.additional_paths.send.limit") | Integer | | | Min: 2
Max: 64 | Amount of paths to send | +| [        neighbors](## "router_bgp.vrfs.[].address_family_ipv4.neighbors") | List, items: Dictionary | | | | | +| [          - ip_address](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].ip_address") | String | Required, Unique | | | | +| [            activate](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].activate") | Boolean | | | | | +| [            route_map_in](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].route_map_in") | String | | | | Inbound route-map name | +| [            route_map_out](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].route_map_out") | String | | | | Outbound route-map name | +| [            next_hop](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].next_hop") | Dictionary | | | | | +| [              address_family_ipv6](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].next_hop.address_family_ipv6") | Dictionary | | | | | +| [                enabled](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].next_hop.address_family_ipv6.enabled") | Boolean | Required | | | | +| [                originate](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].next_hop.address_family_ipv6.originate") | Boolean | | | | | +| [        peer_groups](## "router_bgp.vrfs.[].address_family_ipv4.peer_groups") | List, items: Dictionary | | | | | +| [          - name](## "router_bgp.vrfs.[].address_family_ipv4.peer_groups.[].name") | String | Required, Unique | | | Peer-group name | +| [            activate](## "router_bgp.vrfs.[].address_family_ipv4.peer_groups.[].activate") | Boolean | | | | | +| [            next_hop](## "router_bgp.vrfs.[].address_family_ipv4.peer_groups.[].next_hop") | Dictionary | | | | | +| [              address_family_ipv6](## "router_bgp.vrfs.[].address_family_ipv4.peer_groups.[].next_hop.address_family_ipv6") | Dictionary | | | | | +| [                enabled](## "router_bgp.vrfs.[].address_family_ipv4.peer_groups.[].next_hop.address_family_ipv6.enabled") | Boolean | Required | | | | +| [                originate](## "router_bgp.vrfs.[].address_family_ipv4.peer_groups.[].next_hop.address_family_ipv6.originate") | Boolean | | | | | +| [        networks](## "router_bgp.vrfs.[].address_family_ipv4.networks") | List, items: Dictionary | | | | | +| [          - prefix](## "router_bgp.vrfs.[].address_family_ipv4.networks.[].prefix") | String | Required, Unique | | | IPv4 prefix "A.B.C.D/E" | +| [            route_map](## "router_bgp.vrfs.[].address_family_ipv4.networks.[].route_map") | String | | | | | | [      address_families](## "router_bgp.vrfs.[].address_families") | List, items: Dictionary | | | | | | [        - address_family](## "router_bgp.vrfs.[].address_families.[].address_family") | String | Required, Unique | | | | | [          bgp](## "router_bgp.vrfs.[].address_families.[].bgp") | Dictionary | | | | | @@ -4932,6 +4966,40 @@ router_bgp: summary_only: attribute_map: match_map: + address_family_ipv4: + bgp: + missing_policy: + direction_in_action: + direction_out_action: + additional_paths: + install: + install_ecmp_primary: + receive: + send: + any: + backup: + ecmp: + ecmp_limit: + limit: + neighbors: + - ip_address: + activate: + route_map_in: + route_map_out: + next_hop: + address_family_ipv6: + enabled: + originate: + peer_groups: + - name: + activate: + next_hop: + address_family_ipv6: + enabled: + originate: + networks: + - prefix: + route_map: address_families: - address_family: bgp: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 30ee235fb3c..e98d86f667b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -10669,6 +10669,222 @@ }, "title": "Aggregate Addresses" }, + "address_family_ipv4": { + "type": "object", + "properties": { + "bgp": { + "type": "object", + "properties": { + "missing_policy": { + "type": "object", + "properties": { + "direction_in_action": { + "type": "string", + "enum": [ + "deny", + "deny-in-out", + "permit" + ], + "title": "Direction In Action" + }, + "direction_out_action": { + "type": "string", + "enum": [ + "deny", + "deny-in-out", + "permit" + ], + "title": "Direction Out Action" + } + }, + "additionalProperties": false, + "title": "Missing Policy" + }, + "additional_paths": { + "type": "object", + "properties": { + "install": { + "type": "boolean", + "title": "Install" + }, + "install_ecmp_primary": { + "type": "boolean", + "title": "Install Ecmp Primary" + }, + "receive": { + "type": "boolean", + "title": "Receive" + }, + "send": { + "type": "object", + "properties": { + "any": { + "type": "boolean", + "title": "Any" + }, + "backup": { + "type": "boolean", + "title": "Backup" + }, + "ecmp": { + "type": "boolean", + "title": "Ecmp" + }, + "ecmp_limit": { + "type": "integer", + "description": "Amount of ECMP paths to send", + "minimum": 2, + "maximum": 64, + "title": "Ecmp Limit" + }, + "limit": { + "type": "integer", + "description": "Amount of paths to send", + "minimum": 2, + "maximum": 64, + "title": "Limit" + } + }, + "additionalProperties": false, + "title": "Send" + } + }, + "additionalProperties": false, + "title": "Additional Paths" + } + }, + "additionalProperties": false, + "title": "BGP" + }, + "neighbors": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ip_address": { + "type": "string", + "title": "IP Address" + }, + "activate": { + "type": "boolean", + "title": "Activate" + }, + "route_map_in": { + "type": "string", + "description": "Inbound route-map name", + "title": "Route Map In" + }, + "route_map_out": { + "type": "string", + "description": "Outbound route-map name", + "title": "Route Map Out" + }, + "next_hop": { + "type": "object", + "properties": { + "address_family_ipv6": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Enabled" + }, + "originate": { + "type": "boolean", + "title": "Originate" + } + }, + "required": [ + "enabled" + ], + "additionalProperties": false, + "title": "Address Family IPv6" + } + }, + "additionalProperties": false, + "title": "Next Hop" + } + }, + "additionalProperties": false, + "required": [ + "ip_address" + ] + }, + "title": "Neighbors" + }, + "peer_groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Peer-group name", + "title": "Name" + }, + "activate": { + "type": "boolean", + "title": "Activate" + }, + "next_hop": { + "type": "object", + "properties": { + "address_family_ipv6": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Enabled" + }, + "originate": { + "type": "boolean", + "title": "Originate" + } + }, + "required": [ + "enabled" + ], + "additionalProperties": false, + "title": "Address Family IPv6" + } + }, + "additionalProperties": false, + "title": "Next Hop" + } + }, + "additionalProperties": false, + "required": [ + "name" + ] + }, + "title": "Peer Groups" + }, + "networks": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prefix": { + "type": "string", + "description": "IPv4 prefix \"A.B.C.D/E\"", + "title": "Prefix" + }, + "route_map": { + "type": "string", + "title": "Route Map" + } + }, + "additionalProperties": false, + "required": [ + "prefix" + ] + }, + "title": "Networks" + } + }, + "additionalProperties": false, + "title": "Address Family IPv4" + }, "address_families": { "type": "array", "items": { diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 1d5141cd7d8..e1d91bc008d 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7337,6 +7337,125 @@ keys: type: str match_map: type: str + address_family_ipv4: + type: dict + keys: + bgp: + type: dict + keys: + missing_policy: + type: dict + keys: + direction_in_action: + type: str + valid_values: + - deny + - deny-in-out + - permit + direction_out_action: + type: str + valid_values: + - deny + - deny-in-out + - permit + additional_paths: + type: dict + keys: + install: + type: bool + install_ecmp_primary: + type: bool + receive: + type: bool + send: + type: dict + keys: + any: + type: bool + backup: + type: bool + ecmp: + type: bool + ecmp_limit: + type: int + description: Amount of ECMP paths to send + convert_types: + - str + min: 2 + max: 64 + limit: + type: int + description: Amount of paths to send + convert_types: + - str + min: 2 + max: 64 + neighbors: + type: list + primary_key: ip_address + convert_types: + - dict + items: + type: dict + keys: + ip_address: + type: str + activate: + type: bool + route_map_in: + type: str + description: Inbound route-map name + route_map_out: + type: str + description: Outbound route-map name + next_hop: + type: dict + keys: + address_family_ipv6: + type: dict + keys: + enabled: + type: bool + required: true + originate: + type: bool + peer_groups: + type: list + primary_key: name + convert_types: + - dict + items: + type: dict + keys: + name: + type: str + description: Peer-group name + activate: + type: bool + next_hop: + type: dict + keys: + address_family_ipv6: + type: dict + keys: + enabled: + type: bool + required: true + originate: + type: bool + networks: + type: list + primary_key: prefix + convert_types: + - dict + items: + type: dict + keys: + prefix: + type: str + description: IPv4 prefix "A.B.C.D/E" + route_map: + type: str address_families: type: list primary_key: address_family diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bgp.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bgp.schema.yml index 32b3df40a8d..54a5cf27d9e 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bgp.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/router_bgp.schema.yml @@ -1425,6 +1425,125 @@ keys: type: str match_map: type: str + address_family_ipv4: + type: dict + keys: + bgp: + type: dict + keys: + missing_policy: + type: dict + keys: + direction_in_action: + type: str + valid_values: + - "deny" + - "deny-in-out" + - "permit" + direction_out_action: + type: str + valid_values: + - "deny" + - "deny-in-out" + - "permit" + additional_paths: + type: dict + keys: + install: + type: bool + install_ecmp_primary: + type: bool + receive: + type: bool + send: + type: dict + keys: + any: + type: bool + backup: + type: bool + ecmp: + type: bool + ecmp_limit: + type: int + description: Amount of ECMP paths to send + convert_types: + - str + min: 2 + max: 64 + limit: + type: int + description: Amount of paths to send + convert_types: + - str + min: 2 + max: 64 + neighbors: + type: list + primary_key: ip_address + convert_types: + - dict + items: + type: dict + keys: + ip_address: + type: str + activate: + type: bool + route_map_in: + type: str + description: Inbound route-map name + route_map_out: + type: str + description: Outbound route-map name + next_hop: + type: dict + keys: + address_family_ipv6: + type: dict + keys: + enabled: + type: bool + required: true + originate: + type: bool + peer_groups: + type: list + primary_key: name + convert_types: + - dict + items: + type: dict + keys: + name: + type: str + description: Peer-group name + activate: + type: bool + next_hop: + type: dict + keys: + address_family_ipv6: + type: dict + keys: + enabled: + type: bool + required: true + originate: + type: bool + networks: + type: list + primary_key: prefix + convert_types: + - dict + items: + type: dict + keys: + prefix: + type: str + description: IPv4 prefix "A.B.C.D/E" + route_map: + type: str address_families: type: list primary_key: address_family diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bgp.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bgp.j2 index 1c93d4f92ad..5a40b38d7c0 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bgp.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/router-bgp.j2 @@ -1007,6 +1007,78 @@ router bgp {{ router_bgp.as }} {{ redistribute_route_cli }} {% endif %} {% endfor %} +{% if vrf.address_family_ipv4 is arista.avd.defined %} + ! + address-family ipv4 +{% if vrf.address_family_ipv4.bgp.missing_policy.direction_in_action is arista.avd.defined %} + bgp missing-policy direction in action {{ vrf.address_family_ipv4.bgp.missing_policy.direction_in_action }} +{% endif %} +{% if vrf.address_family_ipv4.bgp.missing_policy.direction_out_action is arista.avd.defined %} + bgp missing-policy direction out action {{ vrf.address_family_ipv4.bgp.missing_policy.direction_out_action }} +{% endif %} +{% if vrf.address_family_ipv4.bgp.additional_paths.install is arista.avd.defined(true) %} + bgp additional-paths install +{% elif vrf.address_family_ipv4.bgp.additional_paths.install_ecmp_primary is arista.avd.defined(true) %} + bgp additional-paths install ecmp-primary +{% endif %} +{% if vrf.address_family_ipv4.bgp.additional_paths.receive is arista.avd.defined(true) %} + bgp additional-paths receive +{% endif %} +{% if vrf.address_family_ipv4.bgp.additional_paths.send.any is arista.avd.defined(true) %} + bgp additional-paths send any +{% elif vrf.address_family_ipv4.bgp.additional_paths.send.backup is arista.avd.defined(true) %} + bgp additional-paths send backup +{% elif vrf.address_family_ipv4.bgp.additional_paths.send.ecmp is arista.avd.defined(true) %} + bgp additional-paths send ecmp +{% elif vrf.address_family_ipv4.bgp.additional_paths.send.ecmp_limit is arista.avd.defined %} + bgp additional-paths send ecmp limit {{ vrf.address_family_ipv4.bgp.additional_paths.send.ecmp_limit }} +{% elif vrf.address_family_ipv4.bgp.additional_paths.send.limit is arista.avd.defined %} + bgp additional-paths send limit {{ vrf.address_family_ipv4.bgp.additional_paths.send.limit }} +{% endif %} +{% for peer_group in vrf.address_family_ipv4.peer_groups | arista.avd.natural_sort('name') %} +{% if peer_group.activate is arista.avd.defined(true) %} + neighbor {{ peer_group.name }} activate +{% elif peer_group.activate is arista.avd.defined(false) %} + no neighbor {{ peer_group.name }} activate +{% endif %} +{% if peer_group.next_hop.address_family_ipv6.enabled is arista.avd.defined(true) %} +{% set ipv6_originate_cli = "neighbor " ~ peer_group.name ~ " next-hop address-family ipv6" %} +{% if peer_group.next_hop.address_family_ipv6.originate is arista.avd.defined(true) %} +{% set ipv6_originate_cli = ipv6_originate_cli ~ " originate" %} +{% endif %} + {{ ipv6_originate_cli }} +{% endif %} +{% endfor %} +{% for neighbor in vrf.address_family_ipv4.neighbors | arista.avd.natural_sort('ip_address') %} +{% if neighbor.activate is arista.avd.defined(true) %} + neighbor {{ neighbor.ip_address }} activate +{% endif %} +{% if neighbor.route_map_in is arista.avd.defined %} + neighbor {{ neighbor.ip_address }} route-map {{ neighbor.route_map_in }} in +{% endif %} +{% if neighbor.route_map_out is arista.avd.defined %} + neighbor {{ neighbor.ip_address }} route-map {{ neighbor.route_map_out }} out +{% endif %} +{% if neighbor.next_hop.address_family_ipv6.enabled is arista.avd.defined %} +{% if neighbor.next_hop.address_family_ipv6.enabled is arista.avd.defined(true) %} +{% set ipv6_originate_cli = "neighbor " ~ neighbor.ip_address ~ " next-hop address-family ipv6" %} +{% if neighbor.next_hop.address_family_ipv6.originate is arista.avd.defined(true) %} +{% set ipv6_originate_cli = ipv6_originate_cli ~ " originate" %} +{% endif %} +{% elif neighbor.next_hop.address_family_ipv6.enabled is arista.avd.defined(false) %} +{% set ipv6_originate_cli = "no neighbor " ~ neighbor.ip_address ~ " next-hop address-family ipv6" %} +{% endif %} + {{ ipv6_originate_cli }} +{% endif %} +{% endfor %} +{% for network in vrf.address_family_ipv4.networks | arista.avd.natural_sort('prefix') %} +{% set network_cli = "network " ~ network.prefix %} +{% if network.route_map is arista.avd.defined %} +{% set network_cli = network_cli ~ " route-map " ~ network.route_map %} +{% endif %} + {{ network_cli }} +{% endfor %} +{% endif %} {% for address_family in vrf.address_families | arista.avd.natural_sort('address_family') %} ! address-family {{ address_family.address_family }} diff --git a/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/router_bgp.py b/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/router_bgp.py index 4c35e2f1c32..dfc89624a55 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/router_bgp.py +++ b/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/router_bgp.py @@ -184,6 +184,18 @@ def _router_bgp_vrfs(self) -> dict | None: ip_address = self._mlag_peer_ibgp_ip bgp_vrf.setdefault("neighbors", {})[ip_address] = {"peer_group": self._peer_group_mlag_ipv4_underlay_peer_name} + if self._underlay_rfc5549(): + bgp_vrf.setdefault("address_family_ipv4", {}).setdefault("neighbors", {}).update( + { + ip_address: { + "next_hop": { + "address_family_ipv6": { + "enabled": False, + } + }, + } + } + ) address_families = {} for bgp_peer in vrf["bgp_peers"]: diff --git a/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/vrfs.py b/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/vrfs.py index cc462e776ab..cdbcfe39fe8 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/vrfs.py +++ b/ansible_collections/arista/avd/roles/eos_designs/python_modules/network_services/vrfs.py @@ -36,6 +36,7 @@ def vrfs(self) -> dict | None: # MLAG IBGP Peering VLANs per VRF if self._overlay_mlag_rfc5549 and self._mlag_ibgp_peering_enabled(vrf, tenant): new_vrf["ip_routing_ipv6_interfaces"] = True + new_vrf["ipv6_routing"] = True else: new_vrf["ip_routing"] = True