Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Feat(eos_designs): l3_edge with rfc5549 underlay and next-hop address-family ipv6 #4491

Draft
wants to merge 24 commits into
base: devel
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
0e45c44
Added check to render neighbors without peer group if "include_in_und…
nathanmusser Sep 18, 2024
4541268
Updated p2p links description
nathanmusser Oct 1, 2024
807bd0c
Added molecule test for l3_edge no underlay and ebgp
nathanmusser Oct 3, 2024
68a69c4
Refactored to explicity remove ipv6 next-hop when routing_protocol is…
nathanmusser Oct 9, 2024
753bb4c
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 9, 2024
2c33680
Small bug fixes
nathanmusser Oct 9, 2024
f70ed73
Cleaned up documentation for p2p_links rfc5549 and next-hop ipv6 info…
nathanmusser Oct 9, 2024
7126f28
Removed molecule tests from previous attempt
nathanmusser Oct 10, 2024
d6a07af
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Oct 10, 2024
f73e94f
Refactor(eos_cli_config_gen): Rearrange the eos-cli config for router…
MaheshGSLAB Oct 11, 2024
82e3ac1
Refactor(eos_cli_config_gen): Rearrange eos_cli_config_gen commands t…
laxmikantchintakindi Oct 11, 2024
96c4196
Refactor(eos_designs): Changed the redistribute_routes data model (#4…
MaheshGSLAB Oct 11, 2024
f5511fd
Refactor(eos_cli_config_gen)!: Reorder hardware and hardware-counter …
gmuloc Oct 11, 2024
95b3ef4
Refactor(eos_cli_config_gen): Rearrange eos_cli output to match with …
laxmikantchintakindi Oct 11, 2024
640b064
Bump: anta>=1.1.0 (#4586)
carlbuchmann Oct 11, 2024
88b1057
Doc(eos_designs): How-to guide and porting guide updates for descript…
carlbuchmann Oct 11, 2024
17b568c
Refactor(eos_cli_config_gen): Rearrange the eos-cli config for tap-ag…
Shivani-gslab Oct 11, 2024
692dd65
Refactor(eos_cli_config_gen): Rearrange the eos-cli config for ethern…
Vibhu-gslab Oct 11, 2024
5fc7031
Bump: Pre-release 5.0.0-rc1 (#4587)
carlbuchmann Oct 11, 2024
1a19e93
Reversed auto-formatting on p2p_links schema
nathanmusser Oct 16, 2024
55e6466
Added l3_edge_rfc5549 molecule testing
nathanmusser Oct 16, 2024
c3dc43b
Merge branch 'devel' into issue4379_p2p_links
nathanmusser Oct 16, 2024
23980f1
Removed artificat from rebase
nathanmusser Oct 16, 2024
fe7a86d
Update existing rfc5549 molecule artifacts
nathanmusser Oct 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
!
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 l3_edge_rfc5549
!
spanning-tree mode none
!
vrf instance MGMT
!
management api http-commands
protocol https
no shutdown
!
vrf MGMT
no shutdown
!
interface ethernet1
description P2P_peer1_ethernet1
no shutdown
mtu 9214
no switchport
ip address 192.168.0.0/31
!
interface ethernet2
description P2P_peer2_ethernet2
no shutdown
mtu 9214
no switchport
ip address 192.168.0.2/31
ipv6 enable
!
interface ethernet3
description P2P_peer3_ethernet3
no shutdown
mtu 9214
no switchport
ip address 192.168.0.4/31
!
interface ethernet4
description P2P_peer4_ethernet4
no shutdown
mtu 9214
no switchport
ip address 192.168.0.6/31
!
interface Loopback0
description ROUTER_ID
no shutdown
ip address 1.2.3.1/32
!
ip routing ipv6 interfaces
no ip routing vrf MGMT
!
ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY
seq 10 permit 1.2.3.4/24 eq 32
!
ipv6 unicast-routing
!
route-map RM-CONN-2-BGP permit 10
match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY
!
router bgp 65000
router-id 1.2.3.1
update wait-install
no bgp default ipv4-unicast
maximum-paths 4 ecmp 4
neighbor IPv4-UNDERLAY-PEERS peer group
neighbor IPv4-UNDERLAY-PEERS send-community
neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000
neighbor 192.168.0.5 peer group IPv4-UNDERLAY-PEERS
neighbor 192.168.0.5 remote-as 65003
neighbor 192.168.0.5 description peer3
neighbor 192.168.0.7 peer group IPv4-UNDERLAY-PEERS
neighbor 192.168.0.7 remote-as 65004
neighbor 192.168.0.7 description peer4
redistribute connected route-map RM-CONN-2-BGP
neighbor interface ethernet2 peer-group IPv4-UNDERLAY-PEERS remote-as 65002
!
address-family ipv4
neighbor IPv4-UNDERLAY-PEERS activate
neighbor IPv4-UNDERLAY-PEERS next-hop address-family ipv6 originate
no neighbor 192.168.0.5 next-hop address-family ipv6
no neighbor 192.168.0.7 next-hop address-family ipv6
!
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
hostname: l3_edge_rfc5549
is_deployed: true
router_bgp:
as: '65000'
router_id: 1.2.3.1
bgp:
default:
ipv4_unicast: false
maximum_paths:
paths: 4
ecmp: 4
redistribute:
connected:
enabled: true
route_map: RM-CONN-2-BGP
updates:
wait_install: true
peer_groups:
- name: IPv4-UNDERLAY-PEERS
type: ipv4
maximum_routes: 12000
send_community: all
address_family_ipv4:
peer_groups:
- name: IPv4-UNDERLAY-PEERS
activate: true
next_hop:
address_family_ipv6:
enabled: true
originate: true
neighbors:
- ip_address: 192.168.0.5
next_hop:
address_family_ipv6:
enabled: false
- ip_address: 192.168.0.7
next_hop:
address_family_ipv6:
enabled: false
neighbors:
- ip_address: 192.168.0.5
remote_as: '65003'
peer: peer3
description: peer3
peer_group: IPv4-UNDERLAY-PEERS
- ip_address: 192.168.0.7
remote_as: '65004'
peer: peer4
description: peer4
peer_group: IPv4-UNDERLAY-PEERS
neighbor_interfaces:
- name: ethernet2
remote_as: '65002'
peer: peer2
description: peer2
peer_group: IPv4-UNDERLAY-PEERS
service_routing_protocols_model: multi-agent
ipv6_unicast_routing: true
ip_routing_ipv6_interfaces: true
vlan_internal_order:
allocation: ascending
range:
beginning: 1006
ending: 1199
aaa_root:
disabled: true
config_end: true
enable_password:
disabled: true
transceiver_qsfp_default_mode_4x10: true
spanning_tree:
mode: none
vrfs:
- name: MGMT
ip_routing: false
management_api_http:
enable_vrfs:
- name: MGMT
enable_https: true
loopback_interfaces:
- name: Loopback0
description: ROUTER_ID
shutdown: false
ip_address: 1.2.3.1/32
prefix_lists:
- name: PL-LOOPBACKS-EVPN-OVERLAY
sequence_numbers:
- sequence: 10
action: permit 1.2.3.4/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
ethernet_interfaces:
- name: ethernet1
peer: peer1
peer_interface: ethernet1
peer_type: other
switchport:
enabled: false
shutdown: false
mtu: 9214
ip_address: 192.168.0.0/31
description: P2P_peer1_ethernet1
- name: ethernet2
peer: peer2
peer_interface: ethernet2
peer_type: other
switchport:
enabled: false
shutdown: false
mtu: 9214
ip_address: 192.168.0.2/31
ipv6_enable: true
description: P2P_peer2_ethernet2
- name: ethernet3
peer: peer3
peer_interface: ethernet3
peer_type: other
switchport:
enabled: false
shutdown: false
mtu: 9214
ip_address: 192.168.0.4/31
description: P2P_peer3_ethernet3
- name: ethernet4
peer: peer4
peer_interface: ethernet4
peer_type: other
switchport:
enabled: false
shutdown: false
mtu: 9214
ip_address: 192.168.0.6/31
description: P2P_peer4_ethernet4
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
type: spine
underlay_rfc5549: true
spine:
nodes:
- name: l3_edge_rfc5549
id: 1
evpn_role: "none"
loopback_ipv4_pool: 1.2.3.4/24
bgp_as: 65000

l3_edge:
p2p_links_ip_pools:
- name: pool1
ipv4_pool: 192.168.0.0/24

p2p_links:
# P2P link without routing.
- nodes: [l3_edge_rfc5549, peer1]
interfaces: [ethernet1, ethernet1]
ip_pool: pool1
id: 1
include_in_underlay_protocol: false

# P2P link with routing.
- nodes: [l3_edge_rfc5549, peer2]
interfaces: [ethernet2, ethernet2]
as: [65000, 65002]
ip_pool: pool1
id: 2
include_in_underlay_protocol: true

# P2P link without routing and ebgp.
- nodes: [l3_edge_rfc5549, peer3]
interfaces: [ethernet3, ethernet3]
as: [65000, 65003]
ip_pool: pool1
id: 3
include_in_underlay_protocol: false
routing_protocol: ebgp
Comment on lines +38 to +39
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why we are rendering BGP for this neighbor


# P2P link with routing and ebgp.
- nodes: [l3_edge_rfc5549, peer4]
interfaces: [ethernet4, ethernet4]
as: [65000, 65004]
ip_pool: pool1
id: 4
include_in_underlay_protocol: true
routing_protocol: ebgp
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@ all:
l3_edge_ospf:
l3_edge_isis:
l3_edge_multicast:
l3_edge_rfc5549:
UPLINK_NATIVE_VLAN_TESTS:
hosts:
uplink-native-vlan-grandparent:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -732,6 +732,7 @@ router bgp 65104
no neighbor EVPN-OVERLAY-PEERS activate
neighbor UNDERLAY_PEERS activate
neighbor UNDERLAY_PEERS next-hop address-family ipv6 originate
no neighbor 10.23.23.2 next-hop address-family ipv6
!
vrf Tenant_A_WAN_Zone
rd 192.168.255.10:14
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -711,6 +711,7 @@ router bgp 65105
no neighbor EVPN-OVERLAY-PEERS activate
neighbor UNDERLAY_PEERS activate
neighbor UNDERLAY_PEERS next-hop address-family ipv6 originate
no neighbor 10.23.23.6 next-hop address-family ipv6
!
vrf Tenant_A_WAN_Zone
rd 192.168.255.11:14
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ router bgp 65104
no neighbor EVPN-OVERLAY-PEERS activate
neighbor UNDERLAY_PEERS activate
neighbor UNDERLAY_PEERS next-hop address-family ipv6 originate
no neighbor 10.23.23.2 next-hop address-family ipv6
Copy link
Contributor

@ClausHolbechArista ClausHolbechArista Oct 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kornoa you implemented this 9 months ago. If we implement this change, we will no add this extra line, but as I see it, the config would actually be more correct with this change. Do you have a running network using the rfc5549 + the ebgp knob under l3_edge without ipv6_enable?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, the customer's project had finished. I don't have access to this implementation anymore.
I think this line is redundant. An IPv4-based neighbor session with an IPv4 address-family defaults to a IPv4 next-hop within the NLRI. But anyway, it doesn't harm.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An IPv4-based neighbor session with an IPv4 address-family defaults to a IPv4 next-hop within the NLRI.

This is true, but if the neighbor is is a member of the UNDERLAY_PEERS group (which l3_edge does) then line 252 forces the advertisements to advertise with ipv6 next-hops instead. Or at least this was my experience in my testing. Hence the need for the suggested 253.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy. :-)

!
vrf Tenant_A_WAN_Zone
rd 192.168.255.10:14
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,7 @@ router bgp 65105
no neighbor EVPN-OVERLAY-PEERS activate
neighbor UNDERLAY_PEERS activate
neighbor UNDERLAY_PEERS next-hop address-family ipv6 originate
no neighbor 10.23.23.6 next-hop address-family ipv6
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nathanmusser I think we need to keep this neighbor with the next-hop, since we have ipv6_enable. Now I understand why you asked about this a long time ago :-/

!
vrf Tenant_A_WAN_Zone
rd 192.168.255.11:14
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ router_bgp:
originate: true
- name: EVPN-OVERLAY-PEERS
activate: false
neighbors:
- ip_address: 10.23.23.2
next_hop:
address_family_ipv6:
enabled: false
neighbor_interfaces:
- name: Ethernet1
peer_group: UNDERLAY_PEERS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ router_bgp:
originate: true
- name: EVPN-OVERLAY-PEERS
activate: false
neighbors:
- ip_address: 10.23.23.6
next_hop:
address_family_ipv6:
enabled: false
neighbor_interfaces:
- name: Ethernet1
peer_group: UNDERLAY_PEERS
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading