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): Implement next-hop resolution disabled for evpn address-family #3218

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 @@ -98,6 +98,8 @@ interface Management1

#### Router BGP EVPN Address Family

- Next-hop resolution is __disabled__

##### EVPN Peer Groups

| Peer Group | Activate | Encapsulation |
Expand Down Expand Up @@ -238,6 +240,7 @@ router bgp 65101
neighbor EVPN-OVERLAY-PEERS domain remote
neighbor EVPN-OVERLAY-PEERS encapsulation vxlan
no neighbor MLAG-IPv4-UNDERLAY-PEER activate
next-hop resolution disabled
neighbor default next-hop-self received-evpn-routes route-type ip-prefix inter-domain
!
address-family ipv4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ router bgp 65101
neighbor EVPN-OVERLAY-PEERS domain remote
neighbor EVPN-OVERLAY-PEERS encapsulation vxlan
no neighbor MLAG-IPv4-UNDERLAY-PEER activate
next-hop resolution disabled
neighbor default next-hop-self received-evpn-routes route-type ip-prefix inter-domain
!
address-family ipv4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ router_bgp:
window: 10
threshold: 1
expiry_timeout: 3
next_hop:
resolution_disabled: true
address_family_ipv4:
peer_groups:
- name: EVPN-OVERLAY-PEERS
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,8 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window</samp>](## "router_bgp.address_family_evpn.evpn_hostflap_detection.window") | Integer | | | Min: 0<br>Max: 4294967295 | Time (in seconds) to detect a MAC duplication issue |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;threshold</samp>](## "router_bgp.address_family_evpn.evpn_hostflap_detection.threshold") | Integer | | | Min: 0<br>Max: 4294967295 | Minimum number of MAC moves that indicate a MAC Duplication issue |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;expiry_timeout</samp>](## "router_bgp.address_family_evpn.evpn_hostflap_detection.expiry_timeout") | Integer | | | Min: 0<br>Max: 4294967295 | Time (in seconds) to purge a MAC duplication issue |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;next_hop</samp>](## "router_bgp.address_family_evpn.next_hop") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resolution_disabled</samp>](## "router_bgp.address_family_evpn.next_hop.resolution_disabled") | Boolean | | | | |
| [<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>- discard | |
| [<samp>&nbsp;&nbsp;address_family_rtc</samp>](## "router_bgp.address_family_rtc") | Dictionary | | | | |
Expand Down Expand Up @@ -849,6 +851,8 @@
window: <int>
threshold: <int>
expiry_timeout: <int>
next_hop:
resolution_disabled: <bool>
route:
import_match_failure_action: <str>
address_family_rtc:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13939,6 +13939,20 @@
},
"title": "EVPN Hostflap Detection"
},
"next_hop": {
"type": "object",
"properties": {
"resolution_disabled": {
"type": "boolean",
"title": "Resolution Disabled"
}
},
"additionalProperties": false,
"patternProperties": {
"^_.+$": {}
},
"title": "Next Hop"
},
"route": {
"type": "object",
"properties": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8436,6 +8436,11 @@ keys:
convert_types:
- str
description: Time (in seconds) to purge a MAC duplication issue
next_hop:
type: dict
keys:
resolution_disabled:
type: bool
route:
type: dict
keys:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -854,6 +854,11 @@ keys:
convert_types:
- str
description: Time (in seconds) to purge a MAC duplication issue
next_hop:
type: dict
keys:
resolution_disabled:
type: bool
route:
type: dict
keys:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,10 @@

- VPN import pruning is __enabled__
{% endif %}
{% if router_bgp.address_family_evpn.next_hop.resolution_disabled is arista.avd.defined(true) %}

- Next-hop resolution is __disabled__
{% endif %}
{% if router_bgp.address_family_evpn.peer_groups is arista.avd.defined %}

##### EVPN Peer Groups
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -564,6 +564,9 @@ router bgp {{ router_bgp.as }}
neighbor {{ peer_group.name }} encapsulation {{ peer_group.encapsulation }}
{% endif %}
{% endfor %}
{% if router_bgp.address_family_evpn.next_hop.resolution_disabled is arista.avd.defined(true) %}
next-hop resolution disabled
{% endif %}
{% if router_bgp.address_family_evpn.neighbor_default.next_hop_self_received_evpn_routes.enable is arista.avd.defined(true) %}
{% set evpn_neighbor_default_nhs_received_evpn_routes_cli = "neighbor default next-hop-self received-evpn-routes route-type ip-prefix" %}
{% if router_bgp.address_family_evpn.neighbor_default.next_hop_self_received_evpn_routes.inter_domain is arista.avd.defined(true) %}
Expand Down