-
Notifications
You must be signed in to change notification settings - Fork 279
Feat(eos_designs): Add support for ipv6 addresses in l3_interfaces in network_services #6876
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
gmuloc
merged 34 commits into
aristanetworks:devel
from
Shivani-gslab:l3_interfaces_ipv6_n/w_services
Jul 21, 2026
Merged
Changes from 28 commits
Commits
Show all changes
34 commits
Select commit
Hold shift + click to select a range
703f63c
Feat(eos_designs): Add support for ipv6 addresses in l3_interfaces in…
Shivani-gslab f8c0f7e
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
Shivani-gslab 446b331
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
Shivani-gslab 5d2d766
fixing error msg in test
Shivani-gslab 258a812
minor update
Shivani-gslab a6cea90
variable update
Shivani-gslab 8fa7d28
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
Shivani-gslab 8fed1b2
Addressing comments
Shivani-gslab 714f8c0
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
MaheshGSLAB 694785c
updated decription anf moved checks for l3_interfaces
Shivani-gslab 2732b9e
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
MaheshGSLAB 641a417
Fixing the filtered_tenants with ipv6 addressed
Shivani-gslab de94b36
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
laxmikantchintakindi 651b6e9
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
MaheshGSLAB 702bf07
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
Shivani-gslab e1e536a
schema fix
Shivani-gslab e1485b3
Apply suggestions from code review
Shivani-gslab 27b0fd5
Adding helper to validate with node length
Shivani-gslab f0e64aa
added support for ipv6_acli_in and ipv6_acl_out
Shivani-gslab c4cf2c9
creating helper methods for ipv4/ipv6
Shivani-gslab f2db67b
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
gmuloc aaf39e6
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
gmuloc 152a1bc
Apply suggestions from code review
Shivani-gslab aa7df7c
Fixing comments, separating helper
Shivani-gslab c5fa15c
refactor
Shivani-gslab 75446f8
Updated comment
Shivani-gslab 31980dc
Updated description and docstring
Shivani-gslab c96c6bc
Adding todo
Shivani-gslab ad04090
Updated description
Shivani-gslab d58b804
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
gmuloc b1d72f4
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
MaheshGSLAB 331ade0
create separate helper for ospf and pim
Shivani-gslab f978f18
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
MaheshGSLAB 5b257f2
Merge branch 'devel' into l3_interfaces_ipv6_n/w_services
gmuloc File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
36 changes: 36 additions & 0 deletions
36
...e_unit_tests/inventory/host_vars/net-srv-l3-interfaces-ipv6-addresses-length-mismatch.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,36 @@ | ||
| --- | ||
| # Minimum config to only test the specific feature. | ||
| type: l3leaf | ||
| l3leaf: | ||
| defaults: | ||
| loopback_ipv4_pool: 192.168.255.0/24 | ||
| loopback_ipv4_offset: 8 | ||
| vtep_loopback_ipv4_pool: 192.168.254.0/24 | ||
| virtual_router_mac_address: 00:dc:00:00:00:0a | ||
| nodes: | ||
| - name: net-srv-l3-interfaces-ipv6-addresses-length-mismatch | ||
| id: 101 | ||
| bgp_as: 101 | ||
|
|
||
| tenants: | ||
| - name: TENANT_B | ||
| vrfs: | ||
| - name: TENANT_B_WAN | ||
| vrf_id: 20 | ||
| l3_interfaces: | ||
| - description: TENANT_B_SITE_3 | ||
| enabled: true | ||
| interfaces: | ||
| - Ethernet6 | ||
| # ipv6_addresses length (2) does not match nodes length (1) | ||
| ip_addresses: | ||
| - 192.168.48.4/31 | ||
| ipv6_addresses: | ||
| - 2001:db8::1/64 | ||
| - 2001:db8::2/64 | ||
| nodes: | ||
| - net-srv-l3-interfaces-ipv6-addresses-length-mismatch | ||
|
|
||
| expected_error_message: >- | ||
| Length of 'ipv6_addresses' (2) must match length of 'nodes' (1) | ||
| for l3_interfaces under VRF 'TENANT_B_WAN' in tenant 'TENANT_B'. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
96 changes: 96 additions & 0 deletions
96
...sions/molecule/eos_designs_unit_tests/intended/configs/network-services-l3-interfaces.cfg
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,96 @@ | ||
| ! | ||
| no enable password | ||
| no aaa root | ||
| ! | ||
| vlan internal order ascending range 1006 1199 | ||
| ! | ||
| transceiver qsfp default-mode 4x10G | ||
| ! | ||
| service routing protocols model multi-agent | ||
| ! | ||
| hostname network-services-l3-interfaces | ||
| ! | ||
| vrf instance L3INTF_TEST | ||
| ! | ||
| vrf instance MGMT | ||
| ! | ||
| interface Ethernet10 | ||
| description ipv6-only-default-vrf | ||
| no shutdown | ||
| no switchport | ||
| ipv6 address 2001:db8:10::1/64 | ||
| ! | ||
| interface Ethernet11 | ||
| description dual-stack-default-vrf | ||
| no shutdown | ||
| no switchport | ||
| ip address 10.0.11.1/31 | ||
| ipv6 address 2001:db8:11::1/64 | ||
| ipv6 access-group TEST-IPV6-ACL-STATIC-IN in | ||
| ! | ||
| interface Ethernet12 | ||
| description ipv6-only-non-default-vrf | ||
| no shutdown | ||
| no switchport | ||
| vrf L3INTF_TEST | ||
| ipv6 address 2001:db8:12::1/64 | ||
| ipv6 access-group TEST-IPV6-ACL-WITH-IP-FIELDS-OUT_Ethernet12 out | ||
| ! | ||
| interface Loopback0 | ||
| description ROUTER_ID | ||
| no shutdown | ||
| ip address 192.168.200.1/32 | ||
| ! | ||
| interface Loopback1 | ||
| description VXLAN_TUNNEL_SOURCE | ||
| no shutdown | ||
| ip address 192.168.201.1/32 | ||
| ! | ||
| interface Vxlan1 | ||
| description network-services-l3-interfaces_VTEP | ||
| vxlan source-interface Loopback1 | ||
| vxlan udp-port 4789 | ||
| vxlan vrf default vni 1 | ||
| vxlan vrf L3INTF_TEST vni 2 | ||
| ! | ||
| ip virtual-router mac-address 00:dc:00:00:00:0b | ||
| ! | ||
| ipv6 access-list TEST-IPV6-ACL-STATIC-IN | ||
| 10 deny ipv6 any any | ||
| ! | ||
| ipv6 access-list TEST-IPV6-ACL-WITH-IP-FIELDS-OUT_Ethernet12 | ||
| 10 permit ipv6 host 2001:db8:12::1 any | ||
| ! | ||
| ip routing | ||
| ip routing vrf L3INTF_TEST | ||
| no ip routing vrf MGMT | ||
| ! | ||
| ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY | ||
| seq 10 permit 192.168.200.0/24 eq 32 | ||
| seq 20 permit 192.168.201.0/24 eq 32 | ||
| ! | ||
| ipv6 unicast-routing | ||
| ! | ||
| ipv6 unicast-routing vrf L3INTF_TEST | ||
| ! | ||
| route-map RM-CONN-2-BGP permit 10 | ||
| match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | ||
| ! | ||
| router bfd | ||
| multihop interval 300 min-rx 300 multiplier 3 | ||
| ! | ||
| router bgp 200 | ||
| router-id 192.168.200.1 | ||
| update wait-install | ||
| no bgp default ipv4-unicast | ||
| maximum-paths 4 | ||
| redistribute connected route-map RM-CONN-2-BGP | ||
| ! | ||
| vrf L3INTF_TEST | ||
| rd 192.168.200.1:2 | ||
| route-target import evpn 2:2 | ||
| route-target export evpn 2:2 | ||
| router-id 192.168.200.1 | ||
| redistribute connected | ||
| ! | ||
| end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
146 changes: 146 additions & 0 deletions
146
...ule/eos_designs_unit_tests/intended/structured_configs/network-services-l3-interfaces.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,146 @@ | ||
| aaa_root: | ||
| disabled: true | ||
| config_end: true | ||
| enable_password: | ||
| disabled: true | ||
| ethernet_interfaces: | ||
| - name: Ethernet10 | ||
| description: ipv6-only-default-vrf | ||
| shutdown: false | ||
| ipv6_addresses: | ||
| - 2001:db8:10::1/64 | ||
| metadata: | ||
| peer_type: l3_interface | ||
| switchport: | ||
| enabled: false | ||
| - name: Ethernet11 | ||
| description: dual-stack-default-vrf | ||
| shutdown: false | ||
| ip_address: 10.0.11.1/31 | ||
| ipv6_addresses: | ||
| - 2001:db8:11::1/64 | ||
| ipv6_access_group_in: TEST-IPV6-ACL-STATIC-IN | ||
| metadata: | ||
| peer_type: l3_interface | ||
| switchport: | ||
| enabled: false | ||
| - name: Ethernet12 | ||
| description: ipv6-only-non-default-vrf | ||
| shutdown: false | ||
| vrf: L3INTF_TEST | ||
| ipv6_addresses: | ||
| - 2001:db8:12::1/64 | ||
| ipv6_access_group_out: TEST-IPV6-ACL-WITH-IP-FIELDS-OUT_Ethernet12 | ||
| metadata: | ||
| peer_type: l3_interface | ||
| switchport: | ||
| enabled: false | ||
| hostname: network-services-l3-interfaces | ||
| ip_igmp_snooping: | ||
| globally_enabled: true | ||
| ip_routing: true | ||
| ip_virtual_router_mac_address: 00:dc:00:00:00:0b | ||
| ipv6_access_lists: | ||
| - name: TEST-IPV6-ACL-STATIC-IN | ||
| entries: | ||
| - protocol: ipv6 | ||
| source: any | ||
| destination: any | ||
| sequence: 10 | ||
| action: deny | ||
| - name: TEST-IPV6-ACL-WITH-IP-FIELDS-OUT_Ethernet12 | ||
| entries: | ||
| - protocol: ipv6 | ||
| source: 2001:db8:12::1 | ||
| destination: any | ||
| sequence: 10 | ||
| action: permit | ||
| ipv6_unicast_routing: true | ||
| loopback_interfaces: | ||
| - name: Loopback0 | ||
| description: ROUTER_ID | ||
| shutdown: false | ||
| ip_address: 192.168.200.1/32 | ||
| - name: Loopback1 | ||
| description: VXLAN_TUNNEL_SOURCE | ||
| shutdown: false | ||
| ip_address: 192.168.201.1/32 | ||
| metadata: | ||
| is_deployed: true | ||
| fabric_name: EOS_DESIGNS_UNIT_TESTS | ||
| prefix_lists: | ||
| - name: PL-LOOPBACKS-EVPN-OVERLAY | ||
| sequence_numbers: | ||
| - sequence: 10 | ||
| action: permit 192.168.200.0/24 eq 32 | ||
| - sequence: 20 | ||
| action: permit 192.168.201.0/24 eq 32 | ||
| route_maps: | ||
| - name: RM-CONN-2-BGP | ||
| sequence_numbers: | ||
| - sequence: 10 | ||
| type: permit | ||
| match: | ||
| - ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | ||
| router_bfd: | ||
| multihop: | ||
| interval: 300 | ||
| min_rx: 300 | ||
| multiplier: 3 | ||
| router_bgp: | ||
| as: '200' | ||
| router_id: 192.168.200.1 | ||
| maximum_paths: | ||
| paths: 4 | ||
| updates: | ||
| wait_install: true | ||
| bgp: | ||
| default: | ||
| ipv4_unicast: false | ||
| redistribute: | ||
| connected: | ||
| enabled: true | ||
| route_map: RM-CONN-2-BGP | ||
| vrfs: | ||
| - name: L3INTF_TEST | ||
| rd: 192.168.200.1:2 | ||
| route_targets: | ||
| import: | ||
| - address_family: evpn | ||
| route_targets: | ||
| - '2:2' | ||
| export: | ||
| - address_family: evpn | ||
| route_targets: | ||
| - '2:2' | ||
| router_id: 192.168.200.1 | ||
| redistribute: | ||
| connected: | ||
| enabled: true | ||
| service_routing_protocols_model: multi-agent | ||
| transceiver_qsfp_default_mode_4x10: true | ||
| vlan_internal_order: | ||
| allocation: ascending | ||
| range: | ||
| beginning: 1006 | ||
| ending: 1199 | ||
| vrfs: | ||
| - name: MGMT | ||
| ip_routing: false | ||
| - name: L3INTF_TEST | ||
| ip_routing: true | ||
| ipv6_routing: true | ||
| metadata: | ||
| tenants: | ||
| - L3INTF | ||
| vxlan_interface: | ||
| vxlan1: | ||
| description: network-services-l3-interfaces_VTEP | ||
| vxlan: | ||
| source_interface: Loopback1 | ||
| udp_port: 4789 | ||
| vrfs: | ||
| - name: default | ||
| vni: 1 | ||
| - name: L3INTF_TEST | ||
| vni: 2 | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.