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

Fix(eos_cli_config_gen, eos_designs): BGP VRF Prefix-lists not allowed outside of AF #3358

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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -225,8 +225,14 @@ router bgp 65001
vrf RED-C1
rd 1.0.1.1:102
neighbor 10.1.1.0 peer group OBS_WAN
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-IN-C1 in
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-OUT-C1 out
!
address-family ipv4
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-IN-C1 in
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-OUT-C1 out
!
address-family ipv6
neighbor 2001:cafe:192:168::4 prefix-list PL-BGP-V6-RED-IN-C1 in
neighbor 2001:cafe:192:168::4 prefix-list PL-BGP-V6-RED-OUT-C1 out
!
vrf YELLOW-C1
rd 1.0.1.1:103
Expand Down
Expand Up @@ -105,8 +105,14 @@ router bgp 65001
vrf RED-C1
rd 1.0.1.1:102
neighbor 10.1.1.0 peer group OBS_WAN
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-IN-C1 in
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-OUT-C1 out
!
address-family ipv4
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-IN-C1 in
neighbor 10.1.1.0 prefix-list PL-BGP-DEFAULT-RED-OUT-C1 out
!
address-family ipv6
neighbor 2001:cafe:192:168::4 prefix-list PL-BGP-V6-RED-IN-C1 in
neighbor 2001:cafe:192:168::4 prefix-list PL-BGP-V6-RED-OUT-C1 out
!
vrf YELLOW-C1
rd 1.0.1.1:103
Expand Down
Expand Up @@ -149,8 +149,16 @@ router_bgp:
neighbors:
- ip_address: 10.1.1.0
peer_group: OBS_WAN
prefix_list_in: PL-BGP-DEFAULT-RED-IN-C1
prefix_list_out: PL-BGP-DEFAULT-RED-OUT-C1
address_family_ipv4:
neighbors:
- ip_address: 10.1.1.0
prefix_list_in: PL-BGP-DEFAULT-RED-IN-C1
prefix_list_out: PL-BGP-DEFAULT-RED-OUT-C1
address_family_ipv6:
neighbors:
- ip_address: 2001:cafe:192:168::4
prefix_list_in: PL-BGP-V6-RED-IN-C1
prefix_list_out: PL-BGP-V6-RED-OUT-C1
- name: YELLOW-C1
rd: 1.0.1.1:103
listen_ranges:
Expand Down
Expand Up @@ -1066,6 +1066,8 @@ router isis EVPN_UNDERLAY
| 192.168.255.1 | Inherited from peer group EVPN-OVERLAY-PEERS | default | - | - | - | - | - | - | - | - |
| 192.168.255.2 | Inherited from peer group EVPN-OVERLAY-PEERS | default | - | - | - | - | - | - | - | - |
| 10.255.251.1 | Inherited from peer group EVPN-OVERLAY-PEERS | TENANT_A_PROJECT01 | - | - | - | - | - | - | - | - |
| 10.2.3.4 | - | TENANT_A_PROJECT01 | - | - | - | - | - | - | - | - |
| 10.2.3.5 | - | TENANT_A_PROJECT01 | - | - | - | - | - | - | - | - |

#### BGP Neighbor Interfaces

Expand Down Expand Up @@ -1210,6 +1212,16 @@ router bgp 65101
redistribute connected
redistribute static route-map RM-CONN-2-BGP
!
address-family ipv4
neighbor 10.2.3.4 activate
neighbor 10.2.3.4 prefix-list PL-TEST-IN-AF4 in
neighbor 10.2.3.4 prefix-list PL-TEST-OUT-AF4 out
neighbor 10.2.3.5 activate
neighbor 10.2.3.5 prefix-list PL-TEST-IN in
neighbor 10.2.3.5 prefix-list PL-TEST-OUT out
neighbor 10.255.251.1 prefix-list PL-TEST-IN in
neighbor 10.255.251.1 prefix-list PL-TEST-OUT out
!
address-family ipv4
neighbor TEST_PEER_GRP activate
neighbor 10.2.3.4 activate
Expand Down
Expand Up @@ -516,6 +516,16 @@ router bgp 65101
redistribute connected
redistribute static route-map RM-CONN-2-BGP
!
address-family ipv4
neighbor 10.2.3.4 activate
neighbor 10.2.3.4 prefix-list PL-TEST-IN-AF4 in
neighbor 10.2.3.4 prefix-list PL-TEST-OUT-AF4 out
neighbor 10.2.3.5 activate
neighbor 10.2.3.5 prefix-list PL-TEST-IN in
neighbor 10.2.3.5 prefix-list PL-TEST-OUT out
neighbor 10.255.251.1 prefix-list PL-TEST-IN in
neighbor 10.255.251.1 prefix-list PL-TEST-OUT out
!
address-family ipv4
neighbor TEST_PEER_GRP activate
neighbor 10.2.3.4 activate
Expand Down
Expand Up @@ -142,6 +142,33 @@ router_bgp:
neighbors:
10.255.251.1:
peer_group: EVPN-OVERLAY-PEERS
# prefix_list_in is deprecated in 4.5.0. To be removed in 5.0.0
prefix_list_in: PL-TEST-IN
# prefix_list_out is deprecated in 4.5.0. To be removed in 5.0.0
prefix_list_out: PL-TEST-OUT
10.2.3.4:
# prefix_list_in is deprecated in 4.5.0. To be removed in 5.0.0
# Testing overlap with address family (should be ignored)
prefix_list_in: PL-TEST-IN
# prefix_list_out is deprecated in 4.5.0. To be removed in 5.0.0
# Testing overlap with address family (should be ignored)
prefix_list_out: PL-TEST-OUT
10.2.3.5:
# prefix_list_in is deprecated in 4.5.0. To be removed in 5.0.0
# Testing existing in AF but not overlapping (should get configured)
prefix_list_in: PL-TEST-IN
# prefix_list_out is deprecated in 4.5.0. To be removed in 5.0.0
# Testing existing in AF but not overlapping (should get configured)
prefix_list_out: PL-TEST-OUT
# Part of test of overlaps from VRF neighbors. To be removed in 5.0.0
address_family_ipv4:
neighbors:
- ip_address: 10.2.3.4
activate: true
prefix_list_in: PL-TEST-IN-AF4
prefix_list_out: PL-TEST-OUT-AF4
- ip_address: 10.2.3.5
activate: true
# Testing neighbors as dict of dict
# Dict type is deprecated in 4.0.0. To be removed in 5.0.0
redistribute_routes:
Expand Down
Expand Up @@ -387,9 +387,13 @@ router bgp 65104
address-family ipv4
neighbor 123.1.1.10 activate
neighbor 123.1.1.11 activate
neighbor 123.1.1.11 prefix-list PL-TEST-IN-AF4 in
neighbor 123.1.1.11 prefix-list PL-TEST-OUT-AF4 out
!
address-family ipv6
neighbor fd5a:fe45:8831:06c5::a activate
neighbor fd5a:fe45:8831:06c5::a prefix-list PL-TEST-IN-AF6 in
neighbor fd5a:fe45:8831:06c5::a prefix-list PL-TEST-OUT-AF6 out
neighbor fd5a:fe45:8831:06c5::b activate
!
vrf Tenant_B_OP_Zone
Expand Down
Expand Up @@ -368,9 +368,13 @@ router bgp 65105
address-family ipv4
neighbor 123.1.1.10 activate
neighbor 123.1.1.11 activate
neighbor 123.1.1.11 prefix-list PL-TEST-IN-AF4 in
neighbor 123.1.1.11 prefix-list PL-TEST-OUT-AF4 out
!
address-family ipv6
neighbor fd5a:fe45:8831:06c5::a activate
neighbor fd5a:fe45:8831:06c5::a prefix-list PL-TEST-IN-AF6 in
neighbor fd5a:fe45:8831:06c5::a prefix-list PL-TEST-OUT-AF6 out
neighbor fd5a:fe45:8831:06c5::b activate
!
vrf Tenant_B_OP_Zone
Expand Down
Expand Up @@ -158,6 +158,8 @@ router_bgp:
activate: true
- ip_address: 123.1.1.11
activate: true
prefix_list_in: PL-TEST-IN-AF4
prefix_list_out: PL-TEST-OUT-AF4
neighbors:
- ip_address: 123.1.1.10
remote_as: '1234'
Expand Down Expand Up @@ -198,6 +200,8 @@ router_bgp:
neighbors:
- ip_address: fd5a:fe45:8831:06c5::a
activate: true
prefix_list_in: PL-TEST-IN-AF6
prefix_list_out: PL-TEST-OUT-AF6
- ip_address: fd5a:fe45:8831:06c5::b
activate: true
updates:
Expand Down
Expand Up @@ -163,6 +163,8 @@ router_bgp:
activate: true
- ip_address: 123.1.1.11
activate: true
prefix_list_in: PL-TEST-IN-AF4
prefix_list_out: PL-TEST-OUT-AF4
neighbors:
- ip_address: 123.1.1.10
remote_as: '1234'
Expand Down Expand Up @@ -203,6 +205,8 @@ router_bgp:
neighbors:
- ip_address: fd5a:fe45:8831:06c5::a
activate: true
prefix_list_in: PL-TEST-IN-AF6
prefix_list_out: PL-TEST-OUT-AF6
- ip_address: fd5a:fe45:8831:06c5::b
activate: true
updates:
Expand Down
Expand Up @@ -182,13 +182,17 @@ tenant_a:
nodes: [DC1-BL1A, DC1-BL1B]
route_map_in: RM-123-1-1-11-IN
route_map_out: RM-123-1-1-11-OUT
prefix_list_in: PL-TEST-IN-AF4
prefix_list_out: PL-TEST-OUT-AF4
local_as: 123
bfd: true
- ip_address: fd5a:fe45:8831:06c5::a
remote_as: 12345
send_community: all
nodes: [DC1-BL1A, DC1-BL1B]
set_ipv6_next_hop: fd5a:fe45:8831:06c5::1
prefix_list_in: PL-TEST-IN-AF6
prefix_list_out: PL-TEST-OUT-AF6
- ip_address: fd5a:fe45:8831:06c5::b
remote_as: 12345
nodes: [DC1-BL1A, DC1-BL1B]
Expand Down
Expand Up @@ -561,8 +561,8 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;update_source</samp>](## "router_bgp.vrfs.[].neighbors.[].update_source") | String | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_in</samp>](## "router_bgp.vrfs.[].neighbors.[].route_map_in") | String | | | | Inbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_out</samp>](## "router_bgp.vrfs.[].neighbors.[].route_map_out") | String | | | | Outbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_in</samp>](## "router_bgp.vrfs.[].neighbors.[].prefix_list_in") | String | | | | Inbound prefix-list name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_out</samp>](## "router_bgp.vrfs.[].neighbors.[].prefix_list_out") | String | | | | Outbound prefix-list name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_in</samp>](## "router_bgp.vrfs.[].neighbors.[].prefix_list_in") <span style="color:red">deprecated</span> | String | | | | Inbound prefix-list name<span style="color:red">This key is deprecated. Support will be removed in AVD version 5.0.0. Use <samp>router_bgp.vrfs[].address_family_ipv4.neighbors[].prefix_list_in or router_bgp.vrfs[].address_family_ipv6.neighbors[].prefix_list_in</samp> instead.</span> |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_out</samp>](## "router_bgp.vrfs.[].neighbors.[].prefix_list_out") <span style="color:red">deprecated</span> | String | | | | Outbound prefix-list name<span style="color:red">This key is deprecated. Support will be removed in AVD version 5.0.0. Use <samp>router_bgp.vrfs[].address_family_ipv4.neighbors[].prefix_list_out or router_bgp.vrfs[].address_family_ipv6.neighbors[].prefix_list_out</samp> instead.</span> |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;neighbor_interfaces</samp>](## "router_bgp.vrfs.[].neighbor_interfaces") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;name</samp>](## "router_bgp.vrfs.[].neighbor_interfaces.[].name") | String | Required, Unique | | | Interface name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remote_as</samp>](## "router_bgp.vrfs.[].neighbor_interfaces.[].remote_as") | String | | | | BGP AS <1-4294967295> or AS number in asdot notation "<1-65535>.<0-65535>" |
Expand Down Expand Up @@ -600,6 +600,8 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activate</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].activate") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_in</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].route_map_in") | String | | | | Inbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_out</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].route_map_out") | String | | | | Outbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_in</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].prefix_list_in") | String | | | | Inbound prefix-list name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_out</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].prefix_list_out") | String | | | | Outbound prefix-list name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next_hop</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].next_hop") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address_family_ipv6</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].next_hop.address_family_ipv6") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enabled</samp>](## "router_bgp.vrfs.[].address_family_ipv4.neighbors.[].next_hop.address_family_ipv6.enabled") | Boolean | Required | | | |
Expand Down Expand Up @@ -627,6 +629,8 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activate</samp>](## "router_bgp.vrfs.[].address_family_ipv6.neighbors.[].activate") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_in</samp>](## "router_bgp.vrfs.[].address_family_ipv6.neighbors.[].route_map_in") | String | | | | Inbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map_out</samp>](## "router_bgp.vrfs.[].address_family_ipv6.neighbors.[].route_map_out") | String | | | | Outbound route-map name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_in</samp>](## "router_bgp.vrfs.[].address_family_ipv6.neighbors.[].prefix_list_in") | String | | | | Inbound prefix-list name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prefix_list_out</samp>](## "router_bgp.vrfs.[].address_family_ipv6.neighbors.[].prefix_list_out") | String | | | | Outbound prefix-list name |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;networks</samp>](## "router_bgp.vrfs.[].address_family_ipv6.networks") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;prefix</samp>](## "router_bgp.vrfs.[].address_family_ipv6.networks.[].prefix") | String | Required, Unique | | | IPv6 prefix "A:B:C:D:E:F:G:H/I" |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;route_map</samp>](## "router_bgp.vrfs.[].address_family_ipv6.networks.[].route_map") | String | | | | |
Expand Down Expand Up @@ -676,7 +680,7 @@
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;neighbors</samp>](## "router_bgp.vrfs.[].address_family_flow_spec_ipv6.neighbors") | List, items: Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;ip_address</samp>](## "router_bgp.vrfs.[].address_family_flow_spec_ipv6.neighbors.[].ip_address") | String | Required, Unique | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;activate</samp>](## "router_bgp.vrfs.[].address_family_flow_spec_ipv6.neighbors.[].activate") | Boolean | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address_families</samp>](## "router_bgp.vrfs.[].address_families") <span style="color:red">deprecated</span> | List, items: Dictionary | | | | <span style="color:red">This key is deprecated. Support will be removed in AVD version v5.0.0. Use <samp>address_family_*</samp> instead.</span> |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address_families</samp>](## "router_bgp.vrfs.[].address_families") <span style="color:red">deprecated</span> | List, items: Dictionary | | | | <span style="color:red">This key is deprecated. Support will be removed in AVD version 5.0.0. Use <samp>address_family_*</samp> instead.</span> |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&nbsp;address_family</samp>](## "router_bgp.vrfs.[].address_families.[].address_family") | String | Required, Unique | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bgp</samp>](## "router_bgp.vrfs.[].address_families.[].bgp") | Dictionary | | | | |
| [<samp>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;missing_policy</samp>](## "router_bgp.vrfs.[].address_families.[].bgp.missing_policy") | Dictionary | | | | |
Expand Down Expand Up @@ -1646,9 +1650,15 @@
route_map_out: <str>

# Inbound prefix-list name
# This key is deprecated.
# Support will be removed in AVD version 5.0.0.
# Use <samp>router_bgp.vrfs[].address_family_ipv4.neighbors[].prefix_list_in or router_bgp.vrfs[].address_family_ipv6.neighbors[].prefix_list_in</samp> instead.
prefix_list_in: <str>

# Outbound prefix-list name
# This key is deprecated.
# Support will be removed in AVD version 5.0.0.
# Use <samp>router_bgp.vrfs[].address_family_ipv4.neighbors[].prefix_list_out or router_bgp.vrfs[].address_family_ipv6.neighbors[].prefix_list_out</samp> instead.
prefix_list_out: <str>
neighbor_interfaces:

Expand Down Expand Up @@ -1705,6 +1715,12 @@

# Outbound route-map name
route_map_out: <str>

# Inbound prefix-list name
prefix_list_in: <str>

# Outbound prefix-list name
prefix_list_out: <str>
next_hop:
address_family_ipv6:
enabled: <bool; required>
Expand Down Expand Up @@ -1742,6 +1758,12 @@

# Outbound route-map name
route_map_out: <str>

# Inbound prefix-list name
prefix_list_in: <str>

# Outbound prefix-list name
prefix_list_out: <str>
networks:

# IPv6 prefix "A:B:C:D:E:F:G:H/I"
Expand Down Expand Up @@ -1806,7 +1828,7 @@
- ip_address: <str; required; unique>
activate: <bool>
# This key is deprecated.
# Support will be removed in AVD version v5.0.0.
# Support will be removed in AVD version 5.0.0.
# Use <samp>address_family_*</samp> instead.
address_families:
- address_family: <str; required; unique>
Expand Down