# PE routers: VRFs contain routes from remote customer nets
########################################################################
want_r1_remote_cust1_routes = [
- {"p": "5.1.0.0/24", "n": "3.3.3.3"},
- {"p": "5.1.1.0/24", "n": "3.3.3.3"},
- {"p": "6.0.1.0/24", "n": "3.3.3.3"},
- {"p": "6.0.2.0/24", "n": "3.3.3.3"},
- {"p": "99.0.0.2/32", "n": "3.3.3.3"},
+ {"p": "5.1.0.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "5.1.0.0/24", "n": "99.0.0.1", "bp": True},
+ {"p": "5.1.1.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "5.1.1.0/24", "n": "99.0.0.1", "bp": True},
{"p": "5.1.2.0/24", "n": "4.4.4.4"},
{"p": "5.1.3.0/24", "n": "4.4.4.4"},
- {"p": "99.0.0.3/32", "n": "4.4.4.4"},
{"p": "5.4.2.0/24", "n": "4.4.4.4"},
{"p": "5.4.3.0/24", "n": "4.4.4.4"},
+ {"p": "6.0.1.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.1.0/24", "n": "4.4.4.4", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.1", "bp": True},
+ {"p": "6.0.2.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.2.0/24", "n": "4.4.4.4", "bp": False},
+ {"p": "6.0.2.0/24", "n": "99.0.0.1", "bp": True},
+ {"p": "99.0.0.1/32", "n": "192.168.1.2", "bp": True},
+ {"p": "99.0.0.2/32", "n": "3.3.3.3"},
{"p": "99.0.0.3/32", "n": "4.4.4.4"},
- {"p": "6.0.1.0/24", "n": "4.4.4.4"},
- {"p": "6.0.2.0/24", "n": "4.4.4.4"},
- {"p": "6.0.1.0/24", "n": "99.0.0.1"},
- {"p": "6.0.2.0/24", "n": "99.0.0.1"},
+ {"p": "99.0.0.4/32", "n": "4.4.4.4"},
]
bgpribRequireUnicastRoutes(
"r1", "ipv4", "r1-cust1", "Customer 1 routes in r1 vrf (2)", want_r1_remote_cust1_routes
-)
+ , debug=False)
want_r3_remote_cust1_routes = [
- {"p": "5.1.0.0/24", "n": "1.1.1.1"},
- {"p": "5.1.1.0/24", "n": "1.1.1.1"},
- {"p": "99.0.0.1/32", "n": "1.1.1.1"},
- {"p": "6.0.1.0/24", "n": "1.1.1.1"},
- {"p": "6.0.2.0/24", "n": "1.1.1.1"},
- {"p": "5.1.2.0/24", "n": "4.4.4.4"},
- {"p": "5.1.3.0/24", "n": "4.4.4.4"},
- {"p": "99.0.0.3/32", "n": "4.4.4.4"},
- {"p": "5.4.2.0/24", "n": "4.4.4.4"},
- {"p": "5.4.3.0/24", "n": "4.4.4.4"},
- {"p": "99.0.0.3/32", "n": "4.4.4.4"},
- {"p": "6.0.1.0/24", "n": "4.4.4.4"},
- {"p": "6.0.2.0/24", "n": "4.4.4.4"},
- {"p": "6.0.1.0/24", "n": "99.0.0.2"},
- {"p": "6.0.2.0/24", "n": "99.0.0.2"},
+ {"p": "5.1.0.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "5.1.0.0/24", "n": "99.0.0.2", "bp": False},
+ {"p": "5.1.1.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "5.1.1.0/24", "n": "99.0.0.2", "bp": False},
+ {"p": "5.1.2.0/24", "n": "4.4.4.4", "bp": True},
+ {"p": "5.1.3.0/24", "n": "4.4.4.4", "bp": True},
+ {"p": "5.4.2.0/24", "n": "4.4.4.4", "bp": True},
+ {"p": "5.4.3.0/24", "n": "4.4.4.4", "bp": True},
+ {"p": "6.0.1.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "6.0.1.0/24", "n": "4.4.4.4", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.2", "bp": False},
+ {"p": "6.0.2.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "6.0.2.0/24", "n": "4.4.4.4", "bp": False},
+ {"p": "6.0.2.0/24", "n": "99.0.0.2", "bp": False},
+ {"p": "99.0.0.1/32", "n": "1.1.1.1", "bp": True},
+ {"p": "99.0.0.3/32", "n": "4.4.4.4", "bp": True},
+ {"p": "99.0.0.4/32", "n": "4.4.4.4", "bp": True},
]
bgpribRequireUnicastRoutes(
"r3", "ipv4", "r3-cust1", "Customer 1 routes in r3 vrf (2)", want_r3_remote_cust1_routes
-)
+ , debug=False)
want_r4_remote_cust1_routes = [
- {"p": "5.1.0.0/24", "n": "1.1.1.1"},
- {"p": "5.1.1.0/24", "n": "1.1.1.1"},
- {"p": "5.1.0.0/24", "n": "3.3.3.3"},
- {"p": "5.1.1.0/24", "n": "3.3.3.3"},
- {"p": "6.0.1.0/24", "n": "1.1.1.1"},
- {"p": "6.0.2.0/24", "n": "1.1.1.1"},
- {"p": "6.0.1.0/24", "n": "3.3.3.3"},
- {"p": "6.0.2.0/24", "n": "3.3.3.3"},
- {"p": "99.0.0.1/32", "n": "1.1.1.1"},
- {"p": "99.0.0.2/32", "n": "3.3.3.3"},
- {"p": "6.0.1.0/24", "n": "99.0.0.3"},
- {"p": "6.0.2.0/24", "n": "99.0.0.3"},
- {"p": "6.0.1.0/24", "n": "99.0.0.4"},
- {"p": "6.0.2.0/24", "n": "99.0.0.4"},
+ {"p": "5.1.0.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "5.1.0.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "5.1.1.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "5.1.1.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.1.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "6.0.1.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.3", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.4", "bp": False},
+ {"p": "6.0.2.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "6.0.2.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.2.0/24", "n": "99.0.0.3", "bp": False},
+ {"p": "6.0.2.0/24", "n": "99.0.0.4", "bp": False},
+ {"p": "99.0.0.1/32", "n": "1.1.1.1", "bp": True},
+ {"p": "99.0.0.2/32", "n": "3.3.3.3", "bp": True},
+ {"p": "99.0.0.3/32", "n": "192.168.1.2", "bp": True},
+ {"p": "99.0.0.4/32", "n": "192.168.2.2", "bp": True},
]
bgpribRequireUnicastRoutes(
"r4", "ipv4", "r4-cust1", "Customer 1 routes in r4 vrf (2)", want_r4_remote_cust1_routes
-)
+ , debug=False)
want_r4_remote_cust2_routes = [
- {"p": "5.1.0.0/24", "n": "1.1.1.1"},
- {"p": "5.1.1.0/24", "n": "1.1.1.1"},
- {"p": "5.1.0.0/24", "n": "3.3.3.3"},
- {"p": "5.1.1.0/24", "n": "3.3.3.3"},
- {"p": "6.0.1.0/24", "n": "1.1.1.1"},
- {"p": "6.0.1.0/24", "n": "3.3.3.3"},
- {"p": "6.0.2.0/24", "n": "1.1.1.1"},
- {"p": "6.0.2.0/24", "n": "3.3.3.3"},
- {"p": "99.0.0.1/32", "n": "1.1.1.1"},
- {"p": "99.0.0.2/32", "n": "3.3.3.3"},
- {"p": "6.0.1.0/24", "n": "99.0.0.3"},
- {"p": "6.0.2.0/24", "n": "99.0.0.3"},
- {"p": "6.0.1.0/24", "n": "99.0.0.4"},
- {"p": "6.0.2.0/24", "n": "99.0.0.4"},
+ {"p": "5.1.0.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "5.1.0.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "5.1.1.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "5.1.1.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.1.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "6.0.1.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.3", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.4", "bp": False},
+ {"p": "6.0.2.0/24", "n": "1.1.1.1", "bp": True},
+ {"p": "6.0.2.0/24", "n": "3.3.3.3", "bp": False},
+ {"p": "6.0.2.0/24", "n": "99.0.0.3", "bp": False},
+ {"p": "6.0.2.0/24", "n": "99.0.0.4", "bp": False},
+ {"p": "99.0.0.1/32", "n": "1.1.1.1", "bp": True},
+ {"p": "99.0.0.2/32", "n": "3.3.3.3", "bp": True},
+ {"p": "99.0.0.3/32", "n": "192.168.1.2", "bp": True},
+ {"p": "99.0.0.4/32", "n": "192.168.2.2", "bp": True},
]
bgpribRequireUnicastRoutes(
"r4", "ipv4", "r4-cust2", "Customer 2 routes in r4 vrf (2)", want_r4_remote_cust2_routes
-)
+ , debug=False)
#########################################################################
10,
)
want = [
- {"p": "5.1.2.0/24", "n": "192.168.1.1"},
- {"p": "5.1.3.0/24", "n": "192.168.1.1"},
- {"p": "5.4.2.0/24", "n": "192.168.1.1"},
- {"p": "5.4.3.0/24", "n": "192.168.1.1"},
- {"p": "6.0.1.0/24", "n": "99.0.0.1"},
- {"p": "6.0.2.0/24", "n": "99.0.0.1"},
+ {"p": "5.1.0.0/24", "n": "99.0.0.1", "bp": True},
+ {"p": "5.1.1.0/24", "n": "99.0.0.1", "bp": True},
+ {"p": "5.1.2.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.1.3.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.4.2.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.4.3.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "6.0.1.0/24", "n": "99.0.0.1", "bp": True},
+ {"p": "6.0.2.0/24", "n": "99.0.0.1", "bp": True},
]
-bgpribRequireUnicastRoutes("ce1", "ipv4", "", "Cust 1 routes from remote", want)
+bgpribRequireUnicastRoutes("ce1", "ipv4", "", "Cust 1 routes from remote", want, debug=False)
luCommand(
"ce2",
10,
)
want = [
- {"p": "5.1.0.0/24", "n": "192.168.1.1"},
- {"p": "5.1.1.0/24", "n": "192.168.1.1"},
- {"p": "5.1.2.0/24", "n": "192.168.1.1"},
- {"p": "5.1.3.0/24", "n": "192.168.1.1"},
- {"p": "5.4.2.0/24", "n": "192.168.1.1"},
- {"p": "5.4.3.0/24", "n": "192.168.1.1"},
- {"p": "6.0.1.0/24", "n": "192.168.1.1"},
- {"p": "6.0.2.0/24", "n": "192.168.1.1"},
+ {"p": "5.1.0.0/24", "n": "192.168.1.1", "bp": False},
+ {"p": "5.1.0.0/24", "n": "99.0.0.2", "bp": True},
+ {"p": "5.1.1.0/24", "n": "192.168.1.1", "bp": False},
+ {"p": "5.1.1.0/24", "n": "99.0.0.2", "bp": True},
+ {"p": "5.1.2.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.1.3.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.4.2.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.4.3.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "6.0.1.0/24", "n": "192.168.1.1", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.2", "bp": True},
+ {"p": "6.0.2.0/24", "n": "192.168.1.1", "bp": False},
+ {"p": "6.0.2.0/24", "n": "99.0.0.2", "bp": True},
]
-bgpribRequireUnicastRoutes("ce2", "ipv4", "", "Cust 1 routes from remote", want)
+bgpribRequireUnicastRoutes("ce2", "ipv4", "", "Cust 1 routes from remote", want, debug=False)
# human readable output for debugging
luCommand("r4", 'vtysh -c "show bgp vrf r4-cust1 ipv4 uni"')
)
# Requires bvl-bug-degenerate-no-label fix (FRR PR #2053)
want = [
- {"p": "5.1.0.0/24", "n": "192.168.1.1"},
- {"p": "5.1.1.0/24", "n": "192.168.1.1"},
- {"p": "5.4.2.0/24", "n": "192.168.1.1"},
- {"p": "5.4.3.0/24", "n": "192.168.1.1"},
- {"p": "6.0.1.0/24", "n": "192.168.1.1"},
- {"p": "6.0.2.0/24", "n": "192.168.1.1"},
+ {"p": "5.1.0.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.1.1.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.4.2.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "5.4.3.0/24", "n": "192.168.1.1", "bp": True},
+ {"p": "6.0.1.0/24", "n": "192.168.1.1", "bp": False},
+ {"p": "6.0.2.0/24", "n": "192.168.1.1", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.3", "bp": True},
+ {"p": "6.0.2.0/24", "n": "99.0.0.3", "bp": True},
]
-bgpribRequireUnicastRoutes("ce3", "ipv4", "", "Cust 1 routes from remote", want)
+bgpribRequireUnicastRoutes("ce3", "ipv4", "", "Cust 1 routes from remote", want, debug=False)
luCommand(
"ce4",
10,
)
want = [
- {"p": "5.1.0.0/24", "n": "192.168.2.1"},
- {"p": "5.1.1.0/24", "n": "192.168.2.1"},
- {"p": "5.1.2.0/24", "n": "192.168.2.1"},
- {"p": "5.1.3.0/24", "n": "192.168.2.1"},
- {"p": "6.0.1.0/24", "n": "192.168.2.1"},
- {"p": "6.0.2.0/24", "n": "192.168.2.1"},
+ {"p": "5.1.0.0/24", "n": "192.168.2.1", "bp": True},
+ {"p": "5.1.1.0/24", "n": "192.168.2.1", "bp": True},
+ {"p": "5.1.2.0/24", "n": "192.168.2.1", "bp": True},
+ {"p": "5.1.3.0/24", "n": "192.168.2.1", "bp": True},
+ {"p": "6.0.1.0/24", "n": "192.168.2.1", "bp": False},
+ {"p": "6.0.2.0/24", "n": "192.168.2.1", "bp": False},
+ {"p": "6.0.1.0/24", "n": "99.0.0.4", "bp": True},
+ {"p": "6.0.2.0/24", "n": "99.0.0.4", "bp": True},
]
bgpribRequireUnicastRoutes(
- "ce4", "ipv4", "ce4-cust2", "Cust 2 routes from remote", want
+ "ce4", "ipv4", "ce4-cust2", "Cust 2 routes from remote", want, debug=False
)