mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 09:30:30 +00:00
tests: Check for 0.0.0.0/1 in bgp_default_route
Ensure that 0.0.0.0/1 route can be advertised along with
default-originate.
Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
(cherry picked from commit 4538247c99
)
This commit is contained in:
parent
275a4b508a
commit
2330ed61e7
@ -3,6 +3,7 @@ router bgp 65000
|
|||||||
neighbor 192.168.255.2 remote-as 65001
|
neighbor 192.168.255.2 remote-as 65001
|
||||||
neighbor 192.168.255.2 timers 3 10
|
neighbor 192.168.255.2 timers 3 10
|
||||||
address-family ipv4 unicast
|
address-family ipv4 unicast
|
||||||
|
network 0.0.0.0/1
|
||||||
neighbor 192.168.255.2 default-originate
|
neighbor 192.168.255.2 default-originate
|
||||||
exit-address-family
|
exit-address-family
|
||||||
!
|
!
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
!
|
!
|
||||||
|
ip route 0.0.0.0/1 blackhole
|
||||||
|
!
|
||||||
interface lo
|
interface lo
|
||||||
ip address 172.16.255.254/32
|
ip address 172.16.255.254/32
|
||||||
!
|
!
|
||||||
|
@ -69,18 +69,18 @@ def test_bgp_default_originate_route_map():
|
|||||||
expected = {
|
expected = {
|
||||||
"192.168.255.1": {
|
"192.168.255.1": {
|
||||||
"bgpState": "Established",
|
"bgpState": "Established",
|
||||||
"addressFamilyInfo": {"ipv4Unicast": {"acceptedPrefixCounter": 1}},
|
"addressFamilyInfo": {"ipv4Unicast": {"acceptedPrefixCounter": 2}},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
|
|
||||||
def _bgp_check_if_originated():
|
def _bgp_check_if_originated():
|
||||||
output = json.loads(tgen.gears["r1"].vtysh_cmd("show ip bgp summary json"))
|
output = json.loads(tgen.gears["r1"].vtysh_cmd("show ip bgp summary json"))
|
||||||
expected = {"ipv4Unicast": {"peers": {"192.168.255.2": {"pfxSnt": 1}}}}
|
expected = {"ipv4Unicast": {"peers": {"192.168.255.2": {"pfxSnt": 2}}}}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
|
|
||||||
def _bgp_default_route_is_valid(router):
|
def _bgp_route_is_valid(router, prefix):
|
||||||
output = json.loads(router.vtysh_cmd("show ip bgp 0.0.0.0/0 json"))
|
output = json.loads(router.vtysh_cmd("show ip bgp {} json".format(prefix)))
|
||||||
expected = {"paths": [{"valid": True}]}
|
expected = {"paths": [{"valid": True}]}
|
||||||
return topotest.json_cmp(output, expected)
|
return topotest.json_cmp(output, expected)
|
||||||
|
|
||||||
@ -92,10 +92,14 @@ def test_bgp_default_originate_route_map():
|
|||||||
success, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
|
success, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
|
||||||
assert result is None, "No 0.0.0.0/0 from r1 to r2"
|
assert result is None, "No 0.0.0.0/0 from r1 to r2"
|
||||||
|
|
||||||
test_func = functools.partial(_bgp_default_route_is_valid, tgen.gears["r2"])
|
test_func = functools.partial(_bgp_route_is_valid, tgen.gears["r2"], "0.0.0.0/0")
|
||||||
success, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
|
success, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
|
||||||
assert result is None, "Failed to see 0.0.0.0/0 in r2"
|
assert result is None, "Failed to see 0.0.0.0/0 in r2"
|
||||||
|
|
||||||
|
test_func = functools.partial(_bgp_route_is_valid, tgen.gears["r2"], "0.0.0.0/1")
|
||||||
|
success, result = topotest.run_and_expect(test_func, None, count=30, wait=0.5)
|
||||||
|
assert result is None, "Failed to see 0.0.0.0/1 in r2"
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
args = ["-s"] + sys.argv[1:]
|
args = ["-s"] + sys.argv[1:]
|
||||||
|
Loading…
Reference in New Issue
Block a user