diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md index 10ce7dd2ca3..edf2d542271 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/host1.md @@ -8574,7 +8574,7 @@ router bgp 65101 route-target export evpn 1:30001 route-target export evpn rcf RT_EXPORT_AF_RCF() route-target export vpn-ipv6 1:30011 - route-target export vpn-ipv6 rcf RT_IMPORT_AF_RCF() vpn-route filter-rcf RT_IMPORT_AF_RCF_FILTER() + route-target export vpn-ipv6 rcf RT_IMPORT_AF_RCF() vrf-route filter-rcf RT_IMPORT_AF_RCF_FILTER() route-target export vpn-ipv6 route-map RT_IMPORT_AF_RM redistribute connected redistribute ospf match external include leaked diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg index e0fd9b32edc..7d44e1cb8e7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/host1.cfg @@ -5393,7 +5393,7 @@ router bgp 65101 route-target export evpn 1:30001 route-target export evpn rcf RT_EXPORT_AF_RCF() route-target export vpn-ipv6 1:30011 - route-target export vpn-ipv6 rcf RT_IMPORT_AF_RCF() vpn-route filter-rcf RT_IMPORT_AF_RCF_FILTER() + route-target export vpn-ipv6 rcf RT_IMPORT_AF_RCF() vrf-route filter-rcf RT_IMPORT_AF_RCF_FILTER() route-target export vpn-ipv6 route-map RT_IMPORT_AF_RM redistribute connected redistribute ospf match external include leaked diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/router-bgp.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/router-bgp.yml index b860b4235ee..040f1915b2f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/router-bgp.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/host1/router-bgp.yml @@ -1982,7 +1982,7 @@ router_bgp: - "1:30011" rcf: RT_IMPORT_AF_RCF() route_map: RT_IMPORT_AF_RM - vpn_route_filter_rcf: RT_IMPORT_AF_RCF_FILTER() + vrf_route_filter_rcf: RT_IMPORT_AF_RCF_FILTER() redistribute: ospf: match_external: 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 1cb9c3eaf34..c9878e80fa4 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 @@ -1076,7 +1076,7 @@ | [              - <str>](## "router_bgp.vrfs.[].route_targets.export.[].route_targets.[]") | String | | | | | | [            route_map](## "router_bgp.vrfs.[].route_targets.export.[].route_map") | String | | | | Only applicable if `address_family` is one of `evpn`, `vpn-ipv4` or `vpn-ipv6`. | | [            rcf](## "router_bgp.vrfs.[].route_targets.export.[].rcf") | String | | | | RCF function name with parenthesis.
Example: MyFunction(myarg).
Only applicable if `address_family` is one of `evpn`, `vpn-ipv4` or `vpn-ipv6`. | - | [            vpn_route_filter_rcf](## "router_bgp.vrfs.[].route_targets.export.[].vpn_route_filter_rcf") | String | | | | RCF function name with parenthesis for filtering VPN routes. Also requires `rcf` to be set.
Example: MyFunction(myarg).
Only applicable if `address_family` is one of `vpn-ipv4` or `vpn-ipv6`. | + | [            vrf_route_filter_rcf](## "router_bgp.vrfs.[].route_targets.export.[].vrf_route_filter_rcf") | String | | | | RCF function name with parenthesis for filtering VRF routes. Also requires `rcf` to be set.
Example: MyFunction(myarg).
Only applicable if `address_family` is one of `vpn-ipv4` or `vpn-ipv6`. | | [      router_id](## "router_bgp.vrfs.[].router_id") | String | | | | in IP address format A.B.C.D. | | [      timers](## "router_bgp.vrfs.[].timers") | String | | | | BGP Keepalive and Hold Timer values in seconds as string "<0-3600> <0-3600>". | | [      networks](## "router_bgp.vrfs.[].networks") | List, items: Dictionary | | | | | @@ -3825,10 +3825,10 @@ # Only applicable if `address_family` is one of `evpn`, `vpn-ipv4` or `vpn-ipv6`. rcf: - # RCF function name with parenthesis for filtering VPN routes. Also requires `rcf` to be set. + # RCF function name with parenthesis for filtering VRF routes. Also requires `rcf` to be set. # Example: MyFunction(myarg). # Only applicable if `address_family` is one of `vpn-ipv4` or `vpn-ipv6`. - vpn_route_filter_rcf: + vrf_route_filter_rcf: # in IP address format A.B.C.D. router_id: diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/router-bgp.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/router-bgp.j2 index 65ffa32e5f0..07b0c522c77 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/router-bgp.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/router-bgp.j2 @@ -2677,8 +2677,8 @@ router bgp {{ router_bgp.as }} {% endfor %} {% if address_family.address_family in ['evpn', 'vpn-ipv4', 'vpn-ipv6'] %} {% if address_family.rcf is arista.avd.defined %} -{% if address_family.vpn_route_filter_rcf is arista.avd.defined and address_family.address_family in ['vpn-ipv4', 'vpn-ipv6'] %} - route-target export {{ address_family.address_family }} rcf {{ address_family.rcf }} vpn-route filter-rcf {{ address_family.vpn_route_filter_rcf }} +{% if address_family.vrf_route_filter_rcf is arista.avd.defined and address_family.address_family in ['vpn-ipv4', 'vpn-ipv6'] %} + route-target export {{ address_family.address_family }} rcf {{ address_family.rcf }} vrf-route filter-rcf {{ address_family.vrf_route_filter_rcf }} {% else %} route-target export {{ address_family.address_family }} rcf {{ address_family.rcf }} {% endif %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py b/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py index 6e11a0f1f24..05f524ba330 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/__init__.py @@ -47051,7 +47051,7 @@ class RouteTargets(AvdList[str]): "route_targets": {"type": RouteTargets}, "route_map": {"type": str}, "rcf": {"type": str}, - "vpn_route_filter_rcf": {"type": str}, + "vrf_route_filter_rcf": {"type": str}, "_custom_data": {"type": dict}, } address_family: str @@ -47066,9 +47066,9 @@ class RouteTargets(AvdList[str]): Only applicable if `address_family` is one of `evpn`, `vpn-ipv4` or `vpn-ipv6`. """ - vpn_route_filter_rcf: str | None + vrf_route_filter_rcf: str | None """ - RCF function name with parenthesis for filtering VPN routes. Also requires `rcf` to be set. + RCF function name with parenthesis for filtering VRF routes. Also requires `rcf` to be set. Example: MyFunction(myarg). Only applicable if `address_family` is one of `vpn-ipv4` or `vpn-ipv6`. @@ -47084,7 +47084,7 @@ def __init__( route_targets: RouteTargets | UndefinedType = Undefined, route_map: str | None | UndefinedType = Undefined, rcf: str | None | UndefinedType = Undefined, - vpn_route_filter_rcf: str | None | UndefinedType = Undefined, + vrf_route_filter_rcf: str | None | UndefinedType = Undefined, _custom_data: dict[str, Any] | UndefinedType = Undefined, ) -> None: """ @@ -47102,8 +47102,8 @@ def __init__( Example: MyFunction(myarg). Only applicable if `address_family` is one of `evpn`, `vpn-ipv4` or `vpn-ipv6`. - vpn_route_filter_rcf: - RCF function name with parenthesis for filtering VPN routes. Also requires `rcf` to be set. + vrf_route_filter_rcf: + RCF function name with parenthesis for filtering VRF routes. Also requires `rcf` to be set. Example: # fmt: skip MyFunction(myarg). Only applicable if `address_family` is one of `vpn-ipv4` or `vpn-ipv6`. diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml index e07a467f342..092b4cf020e 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml @@ -15947,10 +15947,10 @@ keys: Only applicable if `address_family` is one of `evpn`, `vpn-ipv4` or `vpn-ipv6`.' - vpn_route_filter_rcf: + vrf_route_filter_rcf: type: str description: 'RCF function name with parenthesis for filtering - VPN routes. Also requires `rcf` to be set. + VRF routes. Also requires `rcf` to be set. Example: MyFunction(myarg). diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/router_bgp.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/router_bgp.schema.yml index 625ee6df1a3..d6e65920c19 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/router_bgp.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/router_bgp.schema.yml @@ -3762,10 +3762,10 @@ keys: RCF function name with parenthesis. Example: MyFunction(myarg). Only applicable if `address_family` is one of `evpn`, `vpn-ipv4` or `vpn-ipv6`. - vpn_route_filter_rcf: + vrf_route_filter_rcf: type: str description: |- - RCF function name with parenthesis for filtering VPN routes. Also requires `rcf` to be set. + RCF function name with parenthesis for filtering VRF routes. Also requires `rcf` to be set. Example: MyFunction(myarg). Only applicable if `address_family` is one of `vpn-ipv4` or `vpn-ipv6`. router_id: