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_cli_config_gen): Support for additional commands under the EVPN address family #3881

Merged
merged 3 commits into from
Apr 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Expand Up @@ -130,6 +130,7 @@ router bgp 65101
neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS
!
address-family evpn
bgp additional-paths send limit 10
neighbor default encapsulation mpls next-hop-self source-interface Loopback0
next-hop mpls resolution ribs tunnel-rib-colored system-colored-tunnel-rib tunnel-rib test-rib system-connected
neighbor EVPN-OVERLAY-PEERS activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ router bgp 65101
vlan 112
!
address-family evpn
bgp additional-paths send ecmp limit 20
host-flap detection window 10 threshold 1
domain identifier 65101:0
neighbor EVPN-OVERLAY-PEERS activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ router bgp 65101
vlan 112
!
address-family evpn
bgp additional-paths receive
bgp additional-paths send any
bgp next-hop-unchanged
host-flap detection window 10 threshold 1 expiry timeout 3 seconds
domain identifier 65101:0
Expand All @@ -269,6 +271,7 @@ router bgp 65101
neighbor default next-hop-self received-evpn-routes route-type ip-prefix inter-domain
route import ethernet-segment ip mass-withdraw
route export ethernet-segment ip mass-withdraw
route import overlay-index gateway
!
address-family ipv4
no neighbor EVPN-OVERLAY-PEERS activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ router bgp 65101
vlan 112
!
address-family evpn
bgp additional-paths send backup
neighbor EVPN-OVERLAY-PEERS activate
no neighbor IPv4-UNDERLAY-PEERS activate
no neighbor MLAG-IPv4-UNDERLAY-PEER activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ router bgp 65101
neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS
!
address-family evpn
bgp additional-paths send limit 10
neighbor default encapsulation mpls next-hop-self source-interface Loopback0
next-hop mpls resolution ribs tunnel-rib-colored system-colored-tunnel-rib tunnel-rib test-rib system-connected
neighbor EVPN-OVERLAY-PEERS activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ router bgp 65101
vlan 112
!
address-family evpn
bgp additional-paths send ecmp limit 20
host-flap detection window 10 threshold 1
domain identifier 65101:0
neighbor EVPN-OVERLAY-PEERS activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ router bgp 65101
vlan 112
!
address-family evpn
bgp additional-paths receive
bgp additional-paths send any
bgp next-hop-unchanged
host-flap detection window 10 threshold 1 expiry timeout 3 seconds
domain identifier 65101:0
Expand All @@ -119,6 +121,7 @@ router bgp 65101
neighbor default next-hop-self received-evpn-routes route-type ip-prefix inter-domain
route import ethernet-segment ip mass-withdraw
route export ethernet-segment ip mass-withdraw
route import overlay-index gateway
!
address-family ipv4
no neighbor EVPN-OVERLAY-PEERS activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ router bgp 65101
vlan 112
!
address-family evpn
bgp additional-paths send backup
neighbor EVPN-OVERLAY-PEERS activate
no neighbor IPv4-UNDERLAY-PEERS activate
no neighbor MLAG-IPv4-UNDERLAY-PEER activate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ router_bgp:
- ip_address: 192.168.255.2
peer_group: EVPN-OVERLAY-PEERS
address_family_evpn:
bgp_additional_paths:
send:
limit: 10
next_hop_mpls_resolution_ribs:
- rib_type: "tunnel-rib-colored"
- rib_type: "tunnel-rib"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ router_bgp:
peer_group: EVPN-OVERLAY-PEERS
redistribute_routes:
address_family_evpn:
bgp_additional_paths:
send:
ecmp_limit: 20
domain_identifier: "65101:0"
peer_groups:
- name: EVPN-OVERLAY-PEERS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,11 @@ router_bgp:
route:
import_ethernet_segment_ip_mass_withdraw: true
export_ethernet_segment_ip_mass_withdraw: true
import_overlay_index_gateway: true
bgp_additional_paths:
receive: true
send:
any: true
address_family_ipv4:
peer_groups:
- name: EVPN-OVERLAY-PEERS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ router_bgp:
- source_protocol: connected
route_map: RM-CONN-2-BGP
address_family_evpn:
bgp_additional_paths:
send:
backup: true
peer_groups:
- name: EVPN-OVERLAY-PEERS
activate: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -282,8 +282,17 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;route</samp>](## "router_bgp.address_family_evpn.route") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import_match_failure_action</samp>](## "router_bgp.address_family_evpn.route.import_match_failure_action") | String | | | Valid Values:<br>- <code>discard</code> | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import_ethernet_segment_ip_mass_withdraw</samp>](## "router_bgp.address_family_evpn.route.import_ethernet_segment_ip_mass_withdraw") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;import_overlay_index_gateway</samp>](## "router_bgp.address_family_evpn.route.import_overlay_index_gateway") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export_ethernet_segment_ip_mass_withdraw</samp>](## "router_bgp.address_family_evpn.route.export_ethernet_segment_ip_mass_withdraw") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;next_hop_unchanged</samp>](## "router_bgp.address_family_evpn.next_hop_unchanged") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;bgp_additional_paths</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths") | Dictionary | | | | BGP additional-paths commands. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;receive</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths.receive") | Boolean | | | | Receive multiple paths. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;send</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths.send") | Dictionary | | | | Send multiple paths. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;any</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths.send.any") | Boolean | | | | Any eligible path. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backup</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths.send.backup") | Boolean | | | | Best path and installed backup path. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecmp</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths.send.ecmp") | Boolean | | | | All paths in best path ECMP group. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ecmp_limit</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths.send.ecmp_limit") | Integer | | | Min: 2<br>Max: 64 | Amount of ECMP paths to send. |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;limit</samp>](## "router_bgp.address_family_evpn.bgp_additional_paths.send.limit") | Integer | | | Min: 2<br>Max: 64 | Amount of paths to send. |
| [<samp>&nbsp;&nbsp;address_family_rtc</samp>](## "router_bgp.address_family_rtc") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;peer_groups</samp>](## "router_bgp.address_family_rtc.peer_groups") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;name</samp>](## "router_bgp.address_family_rtc.peer_groups.[].name") | String | Required, Unique | | | Peer-group name. |
Expand Down Expand Up @@ -1247,8 +1256,33 @@
route:
import_match_failure_action: <str; "discard">
import_ethernet_segment_ip_mass_withdraw: <bool>
import_overlay_index_gateway: <bool>
export_ethernet_segment_ip_mass_withdraw: <bool>
next_hop_unchanged: <bool>

# BGP additional-paths commands.
bgp_additional_paths:

# Receive multiple paths.
receive: <bool>

# Send multiple paths.
send:

# Any eligible path.
any: <bool>

# Best path and installed backup path.
backup: <bool>

# All paths in best path ECMP group.
ecmp: <bool>

# Amount of ECMP paths to send.
ecmp_limit: <int; 2-64>

# Amount of paths to send.
limit: <int; 2-64>
address_family_rtc:
peer_groups:

Expand Down

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

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

Original file line number Diff line number Diff line change
Expand Up @@ -1034,10 +1034,46 @@ keys:
- "discard"
import_ethernet_segment_ip_mass_withdraw:
type: bool
import_overlay_index_gateway:
type: bool
export_ethernet_segment_ip_mass_withdraw:
type: bool
next_hop_unchanged:
type: bool
bgp_additional_paths:
ClausHolbechArista marked this conversation as resolved.
Show resolved Hide resolved
type: dict
description: BGP additional-paths commands.
keys:
receive:
type: bool
description: Receive multiple paths.
send:
type: dict
description: Send multiple paths.
keys:
any:
type: bool
description: Any eligible path.
backup:
type: bool
description: Best path and installed backup path.
ecmp:
type: bool
description: All paths in best path ECMP group.
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
address_family_rtc:
type: dict
keys:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,20 @@ router bgp {{ router_bgp.as }}
{% if router_bgp.address_family_evpn is arista.avd.defined %}
!
address-family evpn
{% if router_bgp.address_family_evpn.bgp_additional_paths.receive is arista.avd.defined(true) %}
bgp additional-paths receive
{% endif %}
{% if router_bgp.address_family_evpn.bgp_additional_paths.send.any is arista.avd.defined(true) %}
bgp additional-paths send any
{% elif router_bgp.address_family_evpn.bgp_additional_paths.send.backup is arista.avd.defined(true) %}
bgp additional-paths send backup
{% elif router_bgp.address_family_evpn.bgp_additional_paths.send.ecmp is arista.avd.defined(true) %}
bgp additional-paths send ecmp
{% elif router_bgp.address_family_evpn.bgp_additional_paths.send.ecmp_limit is arista.avd.defined %}
bgp additional-paths send ecmp limit {{ router_bgp.address_family_evpn.bgp_additional_paths.send.ecmp_limit }}
{% elif router_bgp.address_family_evpn.bgp_additional_paths.send.limit is arista.avd.defined %}
bgp additional-paths send limit {{ router_bgp.address_family_evpn.bgp_additional_paths.send.limit }}
{% endif %}
{% if router_bgp.address_family_evpn.next_hop_unchanged is arista.avd.defined(true) %}
bgp next-hop-unchanged
{% endif %}
Expand Down Expand Up @@ -651,6 +665,9 @@ router bgp {{ router_bgp.as }}
{% if router_bgp.address_family_evpn.route.export_ethernet_segment_ip_mass_withdraw is arista.avd.defined(true) %}
route export ethernet-segment ip mass-withdraw
{% endif %}
{% if router_bgp.address_family_evpn.route.import_overlay_index_gateway is arista.avd.defined(true) %}
route import overlay-index gateway
{% endif %}
{% endif %}
{# address family flow-spec ipv4 activation #}
{% if router_bgp.address_family_flow_spec_ipv4 is arista.avd.defined %}
Expand Down
Loading
Loading