Example #1
0
File: bgp.py Project: rnts08/exabgp
	def pack (self,addpath):
		if addpath:
			path_info = self.path_info.pack()
		else:
			path_info = ''

		if self.has_label():
			length = len(self.labels)*8 + len(self.rd)*8 + self.mask
			return path_info + chr(length) + self.labels.pack() + self.rd.pack() + self.packed[:mask_to_bytes[self.mask]]
		else:
			return path_info + Prefix.pack(self)
Example #2
0
    def pack(self, addpath):
        if addpath:
            path_info = self.path_info.pack()
        else:
            path_info = ''

        if self.has_label():
            length = len(self.labels) * 8 + len(self.rd) * 8 + self.mask
            return path_info + chr(length) + self.labels.pack() + self.rd.pack(
            ) + self.packed[:mask_to_bytes[self.mask]]
        else:
            return path_info + Prefix.pack(self)
Example #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 = Prefix(self.afi,SAFI.flow_ip,raw,netmask)

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

	def __str__ (self):
		return str(self.nlri)
Example #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 = Prefix(self.afi, SAFI.flow_ip, raw, netmask)

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

    def __str__(self):
        return str(self.nlri)