Пример #1
0
    def getLookingGlassLocalInfo(self, pathPrefix):

        attributesDict = {}

        for (attributeId, value) in self.attributes.iteritems():

            # skip some attributes that we care less about
            if (attributeId == AttributeID.AS_PATH or
               attributeId == AttributeID.ORIGIN or
               attributeId == AttributeID.LOCAL_PREF):
                continue

            attributesDict[
                str(AttributeID(attributeId)).lower()] = repr(value)

        res = {"afi-safi": "%s/%s" % (self.afi, self.safi),
               "attributes": attributesDict
               }

        if self.source:
            res["source"] = {"id": self.source.name,
                             "href": LookingGlassReferences.getAbsolutePath(
                                 "BGP_WORKERS", pathPrefix, [self.source.name])
                             }

        if (self.safi) in [SAFI.mpls_vpn, SAFI.evpn]:
            res["route_targets"] = [repr(rt) for rt in self.routeTargets]

        return {
            repr(self.nlri): res
        }
Пример #2
0
    def getLookingGlassLocalInfo(self, pathPrefix):

        attributesDict = {}

        for (attributeId, value) in self.attributes.iteritems():

            # skip some attributes that we care less about
            if (attributeId == AttributeID.AS_PATH
                    or attributeId == AttributeID.ORIGIN
                    or attributeId == AttributeID.LOCAL_PREF):
                continue

            attributesDict[str(AttributeID(attributeId)).lower()] = repr(value)

        res = {
            "afi-safi": "%s/%s" % (self.afi, self.safi),
            "attributes": attributesDict
        }

        if self.source:
            res["source"] = {
                "id":
                self.source.name,
                "href":
                LookingGlassReferences.getAbsolutePath("BGP_WORKERS",
                                                       pathPrefix,
                                                       [self.source.name])
            }

        if (self.safi) in [SAFI.mpls_vpn, SAFI.evpn]:
            res["route_targets"] = [repr(rt) for rt in self.routeTargets]

        return {repr(self.nlri): res}
Пример #3
0
 def getLookingGlassLocalInfo(self, pathPrefix):
     if not self.gwPort:
         return {"gwPort": None}
     else:
         (linuxif, ipvpn) = self.gwPort
         return {"gwPort": {
                 "interface": repr(linuxif),
                 "ipvpn": LookingGlassReferences.getAbsolutePath(
                     "VPN_INSTANCES", pathPrefix,
                     [ipvpn.externalInstanceId]),
                 }}
Пример #4
0
 def getLookingGlassLocalInfo(self, pathPrefix):
     if not self.gwPort:
         return {"gateway_port": None}
     else:
         (linuxif, ipvpn) = self.gwPort
         return {
             "gateway_port": {
                 "interface": repr(linuxif),
                 "ipvpn": {
                     "href":
                     LookingGlassReferences.getAbsolutePath(
                         "VPN_INSTANCES", pathPrefix,
                         [ipvpn.externalInstanceId]),
                     "id":
                     ipvpn.name,
                     "external_instance_id":
                     ipvpn.externalInstanceId
                 },
             }
         }