diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-evpn.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-evpn.md
index 2976fc35c2b..1765f929c49 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-evpn.md
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/router-bgp-evpn.md
@@ -98,6 +98,8 @@ interface Management1
#### Router BGP EVPN Address Family
+- Next-hop resolution is __disabled__
+
##### EVPN Peer Groups
| Peer Group | Activate | Encapsulation |
@@ -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
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg
index 7d80a169eb8..f3803bb61bf 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg
@@ -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
diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-evpn.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-evpn.yml
index 41b1236ca6b..2745dfdf0c2 100644
--- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-evpn.yml
+++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/router-bgp-evpn.yml
@@ -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
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bgp.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bgp.md
index 95613056886..728cd84c5c7 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bgp.md
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/router-bgp.md
@@ -247,6 +247,8 @@
| [ window](## "router_bgp.address_family_evpn.evpn_hostflap_detection.window") | Integer | | | Min: 0
Max: 4294967295 | Time (in seconds) to detect a MAC duplication issue |
| [ threshold](## "router_bgp.address_family_evpn.evpn_hostflap_detection.threshold") | Integer | | | Min: 0
Max: 4294967295 | Minimum number of MAC moves that indicate a MAC Duplication issue |
| [ expiry_timeout](## "router_bgp.address_family_evpn.evpn_hostflap_detection.expiry_timeout") | Integer | | | Min: 0
Max: 4294967295 | Time (in seconds) to purge a MAC duplication issue |
+ | [ next_hop](## "router_bgp.address_family_evpn.next_hop") | Dictionary | | | | |
+ | [ resolution_disabled](## "router_bgp.address_family_evpn.next_hop.resolution_disabled") | Boolean | | | | |
| [ route](## "router_bgp.address_family_evpn.route") | Dictionary | | | | |
| [ import_match_failure_action](## "router_bgp.address_family_evpn.route.import_match_failure_action") | String | | | Valid Values:
- discard | |
| [ address_family_rtc](## "router_bgp.address_family_rtc") | Dictionary | | | | |
@@ -849,6 +851,8 @@
window:
threshold:
expiry_timeout:
+ next_hop:
+ resolution_disabled:
route:
import_match_failure_action:
address_family_rtc:
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 113531a77a6..8c80ef9fb32 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
@@ -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": {
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 fef7a084ebf..df03efdd5b0 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
@@ -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:
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 3648f0f7b23..2178ced4e8a 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
@@ -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:
diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bgp.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bgp.j2
index 641ef002bec..57ddd27352e 100644
--- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bgp.j2
+++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/router-bgp.j2
@@ -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
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 3bbbcccc9c3..c7f2f3d8b1e 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
@@ -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) %}