sonic-buildimage/platform/vs/tests/bgp/test_no_export.py

45 lines
1.4 KiB
Python
Raw Normal View History

from swsscommon import swsscommon
import os
import re
import time
import json
def test_bounce(dvs, testlog):
dvs.copy_file("/etc/frr/", "bgp/files/no_export/bgpd.conf")
dvs.runcmd("supervisorctl start bgpd")
dvs.runcmd("ip addr add 10.0.0.0/31 dev Ethernet0")
dvs.runcmd("config interface startup Ethernet0")
dvs.runcmd("ip addr add 10.0.0.2/31 dev Ethernet4")
dvs.runcmd("config interface startup Ethernet4")
dvs.servers[0].runcmd("ip addr add 10.0.0.1/31 dev eth0")
dvs.servers[0].runcmd("ifconfig eth0 up")
dvs.servers[1].runcmd("ip addr add 10.0.0.3/31 dev eth0")
dvs.servers[1].runcmd("ifconfig eth0 up")
time.sleep(5)
p1 = dvs.servers[0].runcmd_async("exabgp -d bgp/files/no_export/exabgp1.conf")
p2 = dvs.servers[1].runcmd_async("exabgp -d bgp/files/no_export/exabgp2.conf")
time.sleep(60)
(exit_code, sum_res) = dvs.runcmd(["vtysh", "-c", "show ip bgp sum"])
(exit_code, all_route) = dvs.runcmd(["vtysh", "-c", "show ip bgp"])
(exit_code, announce_route) = dvs.runcmd(["vtysh", "-c", "show ip bgp neighbors 10.0.0.3 advertised-routes"])
p1.terminate()
p1 = p1.wait()
p2.terminate()
p2 = p2.wait()
print(sum_res)
print(announce_route)
assert "1.1.1.1/32" in all_route
assert "1.1.1.1/32" not in announce_route
assert "2.2.2.2/32" in all_route
assert "2.2.2.2/32" in announce_route