# To find neighbor ip type
bgp_addr_type = topo["routers"][router]["bgp"]["address_family"]
+ total_peer = 0
for addr_type in bgp_addr_type.keys():
- total_peer = 0
+
if not check_address_types(addr_type):
continue
for bgp_neighbor in bgp_neighbors:
total_peer += len(bgp_neighbors[bgp_neighbor]["dest_link"])
+ no_of_peer = 0
for addr_type in bgp_addr_type:
bgp_neighbors = bgp_addr_type[addr_type]["unicast"]["neighbor"]
- no_of_peer = 0
for bgp_neighbor, peer_data in bgp_neighbors.iteritems():
for dest_link, peer_dict in peer_data["dest_link"].iteritems():
data = topo["routers"][bgp_neighbor]["links"]
if dest_link in data:
- neighbor_ip = data[dest_link][addr_type].split(
- "/")[0]
+ neighbor_ip = data[dest_link][addr_type].split("/")[0]
if addr_type == "ipv4":
ipv4_data = show_bgp_json["ipv4Unicast"][
"peers"]
# To find neighbor ip type
bgp_addr_type = topo["routers"][router]["bgp"]["address_family"]
-
+ total_peer = 0
for addr_type in bgp_addr_type.keys():
- total_peer = 0
if not check_address_types(addr_type):
continue
for bgp_neighbor in bgp_neighbors:
total_peer += len(bgp_neighbors[bgp_neighbor]["dest_link"])
+ no_of_peer = 0
for addr_type in bgp_addr_type:
bgp_neighbors = bgp_addr_type[addr_type]["unicast"]["neighbor"]
- no_of_peer = 0
for bgp_neighbor, peer_data in bgp_neighbors.iteritems():
for dest_link, peer_dict in peer_data["dest_link"].iteritems():
data = topo["routers"][bgp_neighbor]["links"]
if dest_link in data:
- neighbor_ip = data[dest_link][addr_type]. \
+ neighbor_ip = data[dest_link][addr_type].\
split("/")[0]
if addr_type == "ipv4":
ipv4_data = show_bgp_json["ipv4Unicast"][
from collections import OrderedDict
from datetime import datetime
from time import sleep
+from subprocess import call
+from subprocess import STDOUT as SUB_STDOUT
import StringIO
import os
import ConfigParser
command = "/usr/lib/frr/frr-reload.py --input {}/{}/frr.sav" \
" --test {}/{}/frr_json_initial.conf > {}". \
format(TMPDIR, rname, TMPDIR, rname, dname)
- result = os.system(command)
+ result = call(command, shell=True, stderr=SUB_STDOUT)
# Assert if command fail
if result > 0:
os.chdir('{}/{}'.format(TMPDIR, rname))
os.system('touch zebra.conf bgpd.conf')
-
except IOError as (errno, strerror):
logger.error("I/O error({0}): {1}".format(errno, strerror))