"""
import os
+import re
import sys
import pytest
# test name based on directory
TEST = os.path.basename(CWD)
+MplsInit = False
+
class ThisTestTopo(Topo):
"Test topology builder"
def build(self, *_args, **_opts):
# between routers, switches and hosts.
#
# Create P/PE routers
- for routern in range(1, 5):
+ tgen.add_router('r1')
+ #check for mpls - there may be a better way to check...
+ if os.path.exists('/proc/sys/net/mpls/conf') != True:
+ logger.info('MPLS not available, tests will be skipped')
+ return
+ global MplsInit
+ MplsInit = True
+ for routern in range(2, 5):
tgen.add_router('r{}'.format(routern))
# Create CE routers
for routern in range(1, 4):
switch[1].add_link(tgen.gears['r2'], nodeif='r2-eth2')
switch[1].add_link(tgen.gears['r3'], nodeif='r3-eth1')
-def doCmd(tgen, rtr, cmd, checkstr=None):
+def doCmd(tgen, rtr, cmd, checkstr = None):
output = tgen.net[rtr].cmd(cmd).strip()
if len(output):
- logger.info('command output: ' + output)
if checkstr != None:
return re.search(checkstr, output)
+ logger.info('command output: ' + output)
return None
def ltemplatePreRouterStartHook():
tgen = get_topogen()
logger.info('pre router-start hook')
- #check for mpls - there may be a better way to check...
- if doCmd(tgen, 'r2', 'ls /proc/sys/net/mpls/conf', 'No such'):
- logger.info('MPLS not supported, tests will be skipped')
+ #check for mpls
+ if MplsInit == False:
+ logger.info('MPLS not available, skipping setup')
return
#configure r2 mpls interfaces
intfs = ['lo', 'r2-eth0', 'r2-eth1', 'r2-eth2']
router = tgen.gears[rname]
- if router.has_mpls() == False:
- ret = 'MPLS not supported'
+ if MplsInit == False:
+ ret = 'MPLS not initialized'
return ret
ret = True