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)
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)
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)
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)
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)
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)
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)
def pack (self, addpath): return self.path_info.pack() + CIDR.pack(self) if addpath else CIDR.pack(self)