49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
|
from swsscommon import swsscommon
|
||
|
import os
|
||
|
import re
|
||
|
import time
|
||
|
import json
|
||
|
import pytest
|
||
|
|
||
|
def test_DefaultRoute(dvs, testlog):
|
||
|
|
||
|
dvs.copy_file("/etc/frr/", "bgp/files/default_route/bgpd.conf")
|
||
|
dvs.runcmd("supervisorctl start bgpd")
|
||
|
dvs.runcmd("ip addr add 10.10.10.0/31 dev Ethernet0")
|
||
|
dvs.runcmd("config interface startup Ethernet0")
|
||
|
dvs.runcmd("ip route del 0.0.0.0/0")
|
||
|
dvs.runcmd("vtysh -c \"confgure terminal\" -c \"ip route 0.0.0.0/0 via 172.17.0.1 200\"")
|
||
|
|
||
|
dvs.servers[0].runcmd("ip addr add 10.10.10.1/31 dev eth0")
|
||
|
dvs.servers[0].runcmd("ifconfig eth0 up")
|
||
|
|
||
|
time.sleep(5)
|
||
|
|
||
|
print(dvs.runcmd("supervisorctl status"))
|
||
|
|
||
|
p = dvs.servers[0].runcmd_async("exabgp -d bgp/files/default_route/default_route.conf")
|
||
|
|
||
|
time.sleep(10)
|
||
|
|
||
|
(exit_code, output) = dvs.runcmd(["redis-cli", "hgetall", "ROUTE_TABLE:0.0.0.0/0"])
|
||
|
print(exit_code, output)
|
||
|
|
||
|
# make sure 10.10.10.1 is the correct next hop for default route
|
||
|
assert "10.10.10.1" in output
|
||
|
|
||
|
# insert default route for table default
|
||
|
dvs.runcmd("ip route add default via 172.17.0.1 table default")
|
||
|
|
||
|
(exit_code, output) = dvs.runcmd(["redis-cli", "hgetall", "ROUTE_TABLE:0.0.0.0/0"])
|
||
|
print(exit_code, output)
|
||
|
|
||
|
time.sleep(10)
|
||
|
# make sure 10.10.10.1 is still the correct next hop for default route
|
||
|
assert "10.10.10.1" in output
|
||
|
|
||
|
p.terminate()
|
||
|
p = p.wait()
|
||
|
|
||
|
|
||
|
|