summaryrefslogtreecommitdiffhomepage
path: root/test/scenario_test/lib/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/scenario_test/lib/base.py')
-rw-r--r--test/scenario_test/lib/base.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/test/scenario_test/lib/base.py b/test/scenario_test/lib/base.py
index 119e188c..5dec078f 100644
--- a/test/scenario_test/lib/base.py
+++ b/test/scenario_test/lib/base.py
@@ -35,6 +35,7 @@ BGP_ATTR_TYPE_NEXT_HOP = 3
BGP_ATTR_TYPE_MULTI_EXIT_DISC = 4
BGP_ATTR_TYPE_LOCAL_PREF = 5
+
def get_bridges():
return local("brctl show | awk 'NR > 1{print $1}'",
capture=True).split('\n')
@@ -196,9 +197,11 @@ class BGPContainer(Container):
policies=None, passive=False,
is_rr_client=False, cluster_id=''):
neigh_addr = ''
+ local_addr = ''
for me, you in itertools.product(self.ip_addrs, peer.ip_addrs):
if me[2] == you[2]:
neigh_addr = you[1]
+ local_addr = me[1]
if neigh_addr == '':
raise Exception('peer {0} seems not ip reachable'.format(peer))
@@ -213,7 +216,8 @@ class BGPContainer(Container):
'is_rr_client': is_rr_client,
'cluster_id': cluster_id,
'policies': policies,
- 'passive': passive}
+ 'passive': passive,
+ 'local_addr': local_addr}
if self.is_running:
self.create_config()
self.reload_config()
@@ -224,8 +228,16 @@ class BGPContainer(Container):
self.create_config()
self.reload_config()
- def add_route(self, route, attribute=''):
- self.routes[route] = attribute
+ def disable_peer(self, peer):
+ raise Exception('implement disable_peer() method')
+
+ def enable_peer(self, peer):
+ raise Exception('implement enable_peer() method')
+
+ def add_route(self, route, rf='ipv4', attribute=''):
+ self.routes[route] = {'prefix': route,
+ 'rf': rf,
+ 'attr': attribute}
if self.is_running:
self.create_config()
self.reload_config()