]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: Add function to check for daemon available (i.e. LDPd) and function to return...
authorMartin Winter <mwinter@opensourcerouting.org>
Sat, 8 Apr 2017 10:40:51 +0000 (03:40 -0700)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Wed, 28 Nov 2018 01:22:11 +0000 (20:22 -0500)
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
tests/topotests/lib/topotest.py

index bd797bfafc4c62fa20d7d5bba3857eb18f229f00..221910b13fc56b153932ecc8dffd1cccb7c901cf 100644 (file)
@@ -52,7 +52,7 @@ def int2dpid(dpid):
                         'canonical switch name such as s23.')
 
 def addRouter(topo, name):
-    "Adding a FreeRangeRouter (or Quagga) to Topology"
+    "Adding a FRRouter (or Quagga) to Topology"
 
     MyPrivateDirs = ['/etc/frr',
                          '/etc/quagga',
@@ -241,6 +241,24 @@ class Router(Node):
                 else:
                     linklocal += [[interface, local]]
         return linklocal
+    def daemon_available(self, daemon):
+        "Check if specified daemon is installed (and for ldp if kernel supports MPLS)"
+
+        if not os.path.isfile('/usr/lib/%s/%s' % (self.routertype, daemon)):
+            return False
+        if (daemon == 'ldpd'):
+            kernel_version = re.search(r'([0-9]+\.[0-9]+).*', platform.release())
+            if kernel_version:
+                if float(kernel_version.group(1)) < 4.5:
+                    return False
+            else:
+                return False
+        return True
+    def get_routertype(self):
+        "Return the type of Router (frr or quagga)"
+
+        return self.routertype
+
 
 class LegacySwitch(OVSSwitch):
     "A Legacy Switch without OpenFlow"