Exemple #1
0
 def PopulateSpec(self, grpcmsg):
     spec = grpcmsg.Request.add()
     spec.Id = self.GetKey()
     spec.Af = utils.GetRpcIPAddrFamily(self.AddrFamily)
     for rule in self.Rules:
         self.FillMeterRuleSpec(spec, rule)
     return
Exemple #2
0
 def PopulateSpec(self, grpcmsg):
     spec = grpcmsg.Request.add()
     spec.Id = self.GetKey()
     spec.Af = utils.GetRpcIPAddrFamily(self.AddrFamily)
     spec.PriorityEn = (self.PriorityType != None)
     for route in self.routes.values():
         rtspec = spec.Routes.add()
         route.PopulateSpec(rtspec, self)
     return
Exemple #3
0
 def PopulateSpec(self, grpcmsg):
     spec = grpcmsg.Request.add()
     spec.Id = self.GetKey()
     spec.Af = utils.GetRpcIPAddrFamily(self.AddrFamily)
     for rule in self.Rules:
         tagrulespec = spec.Rules.add()
         tagrulespec.Tag = rule.TagId
         tagrulespec.Priority = rule.Priority
         for prefix in rule.Prefixes:
             tagprefix = tagrulespec.Prefix.add()
             utils.GetRpcIPPrefix(prefix, tagprefix)
     return
Exemple #4
0
 def ValidateYamlSpec(self, spec):
     if utils.GetYamlSpecAttr(spec) != self.GetKey():
         return False
     if spec['af'] != utils.GetRpcIPAddrFamily(self.AddrFamily):
         return False
     if spec['priorityen'] != (self.PriorityType != None):
         return False
     if not utils.IsPipelineApulu():
         # routes are not stored in other pipelines, so return
         return True
     # validate routes
     specRoutes = spec['routes']
     if len(self.routes.values()) != len(specRoutes):
         return False
     for specRoute in specRoutes:
         key = utils.PdsUuid.GetIdfromUUID(specRoute['id'])
         route = self.routes.get(key, None)
         if not route:
             return False
         if not route.ValidateYamlSpec(specRoute):
             return False
     return True
Exemple #5
0
 def ValidateSpec(self, spec):
     if spec.Id != self.GetKey():
         return False
     if spec.Af != utils.GetRpcIPAddrFamily(self.AddrFamily):
         return False
     if spec.PriorityEn != (self.PriorityType != None):
         return False
     if not utils.IsPipelineApulu():
         # routes are not stored in other pipelines, so return
         return True
     # validate routes
     specRoutes = spec.Routes
     if len(self.routes.values()) != len(specRoutes):
         return False
     for specRoute in specRoutes:
         key = utils.PdsUuid.GetIdfromUUID(specRoute.Id)
         route = self.routes.get(key, None)
         if not route:
             return False
         if not route.ValidateSpec(specRoute, self):
             return False
     return True
Exemple #6
0
 def ValidateYamlSpec(self, spec):
     if utils.GetYamlSpecAttr(spec) != self.GetKey():
         return False
     if spec['af'] != utils.GetRpcIPAddrFamily(self.AddrFamily):
         return False
     return True
Exemple #7
0
 def ValidateSpec(self, spec):
     if spec.Id != self.GetKey():
         return False
     if spec.Af != utils.GetRpcIPAddrFamily(self.AddrFamily):
         return False
     return True