Esempio n. 1
0
	def pack (self, addpath=None):
		if not self.has_label():
			if addpath:
				return self.path_info.pack() + CIDR.pack(self)
			return CIDR.pack(self)

		length = len(self.labels)*8 + len(self.rd)*8 + self.mask
		if addpath:
			return self.path_info.pack() + chr(length) + self.labels.pack() + self.rd.pack() + CIDR.packed_ip(self)
		return chr(length) + self.labels.pack() + self.rd.pack() + CIDR.packed_ip(self)
Esempio n. 2
0
    def pack(self, addpath=None):
        if not self.has_label():
            if addpath:
                return self.path_info.pack() + CIDR.pack(self)
            return CIDR.pack(self)

        length = len(self.labels) * 8 + len(self.rd) * 8 + self.mask
        if addpath:
            return self.path_info.pack() + chr(length) + self.labels.pack(
            ) + self.rd.pack() + CIDR.packed_ip(self)
        return chr(length) + self.labels.pack() + self.rd.pack(
        ) + CIDR.packed_ip(self)
Esempio n. 3
0
class IPrefix4 (IPrefix,IComponent,IPv4):
	# not used, just present for simplying the nlri generation
	operations = 0x0
	# NAME

	def __init__ (self,raw,netmask):
		self.nlri = CIDR(raw,netmask)

	def pack (self):
		raw = self.nlri.pack()
		return "%s%s" % (chr(self.ID),raw)

	def __str__ (self):
		return str(self.nlri)
Esempio n. 4
0
class IPrefix4(IPrefix, IComponent, IPv4):
    # not used, just present for simplying the nlri generation
    operations = 0x0

    # NAME

    def __init__(self, raw, netmask):
        self.nlri = CIDR(raw, netmask)

    def pack(self):
        raw = self.nlri.pack()
        return "%s%s" % (chr(self.ID), raw)

    def __str__(self):
        return str(self.nlri)
Esempio n. 5
0
class IPrefix4(IPrefix, IComponent, IPv4):
    # Must be defined in subclasses
    CODE = -1
    NAME = ''

    # not used, just present for simplying the nlri generation
    operations = 0x0

    def __init__(self, raw, netmask):
        self.nlri = CIDR(raw, netmask)

    def pack(self):
        raw = self.nlri.pack()
        # ID is defined in subclasses
        return "%s%s" % (chr(self.ID), raw)  # pylint: disable=E1101

    def __str__(self):
        return str(self.nlri)
Esempio n. 6
0
class IPrefix4 (IPrefix,IComponent,IPv4):
	# Must be defined in subclasses
	CODE = -1
	NAME = ''

	# not used, just present for simplying the nlri generation
	operations = 0x0

	def __init__ (self, raw, netmask):
		self.nlri = CIDR(raw,netmask)

	def pack (self):
		raw = self.nlri.pack()
		# ID is defined in subclasses
		return "%s%s" % (chr(self.ID),raw)  # pylint: disable=E1101

	def __str__ (self):
		return str(self.nlri)
Esempio n. 7
0
	def pack (self, addpath):
		if addpath or True:
			return self.path_info.pack() + CIDR.pack(self) if addpath else CIDR.pack(self)
		return CIDR.pack(self) if addpath else CIDR.pack(self)
Esempio n. 8
0
	def pack (self, addpath):
		return self.path_info.pack() + CIDR.pack(self) if addpath else CIDR.pack(self)
Esempio n. 9
0
	def pack (self, addpath):
		return self.path_info.pack() + CIDR.pack(self) if addpath else CIDR.pack(self)