예제 #1
0
	def _add (self,tokeniser,afi_name,safi_names):
		self._check_duplicate(tokeniser,RaisedFamily)
		known = self.content.setdefault(AFI(AFI.value(afi_name)),[])

		for (idx_line,idx_column,line,safi_name) in safi_names:
			if safi_name not in AFI.implemented_safi(afi_name):
				raise RaisedFamily(Location(idx_line,idx_column,line),'the family pair afi/safi %s/%s is unimplemented' % (afi_name,safi_name))

			safi = SAFI(SAFI.value(safi_name))
			if safi in known:
				raise RaisedFamily(Location(idx_line,idx_column,line),'afi/safi pair already defined in this family')
			known.append(safi)
예제 #2
0
	def _add (self, tokeniser, afi_name, safi_names):
		self._check_duplicate(tokeniser,RaisedFamily)
		known = self.content.setdefault(AFI(AFI.value(afi_name)),[])

		for (idx_line,idx_column,line,safi_name) in safi_names:
			if safi_name not in AFI.implemented_safi(afi_name):
				raise RaisedFamily(Location(idx_line,idx_column,line),'the family pair afi/safi %s/%s is unimplemented' % (afi_name,safi_name))

			safi = SAFI(SAFI.value(safi_name))
			if safi in known:
				raise RaisedFamily(Location(idx_line,idx_column,line),'afi/safi pair already defined in this family')
			known.append(safi)
예제 #3
0
	def all (self,tokeniser):
		for afi_name in ('ipv4','ipv6','l2vpn'):
			for safi_name in AFI.implemented_safi(afi_name):
				self._add(tokeniser,afi_name,safi_name)
예제 #4
0
파일: family.py 프로젝트: PowerDNS/exabgp
 def all(self, tokeniser):
     for afi_name in ('ipv4', 'ipv6', 'l2vpn'):
         for safi_name in AFI.implemented_safi(afi_name):
             self._add(tokeniser, afi_name, safi_name)