class IPrefix6(IPrefix, IComponent, IPv6): # Must be defined in subclasses CODE = -1 NAME = '' # not used, just present for simplying the nlri generation operations = 0x0 def __init__(self, raw, netmask, offset): self.cidr = CIDR(raw, netmask) self.offset = offset def pack(self): # ID is defined in subclasses return "%s%s%s%s" % (chr(self.ID), chr(self.cidr.mask), chr( self.offset), self.cidr.pack_ip()) # pylint: disable=E1101 def __str__(self): return "%s/%s" % (self.cidr, self.offset) @classmethod def make(cls, bgp): offset = ord(bgp[1]) prefix, mask = CIDR.decode(AFI.ipv6, bgp[0] + bgp[2:]) return cls(prefix, mask, offset), bgp[CIDR.size(mask) + 2:]
class IPrefix6 (IPrefix,IComponent,IPv6): # Must be defined in subclasses CODE = -1 NAME = '' # not used, just present for simplying the nlri generation operations = 0x0 def __init__ (self, raw, netmask, offset): self.cidr = CIDR(raw,netmask) self.offset = offset def pack (self): # ID is defined in subclasses return "%s%s%s%s" % (chr(self.ID),chr(self.cidr.mask),chr(self.offset),self.cidr.pack_ip()) # pylint: disable=E1101 def __str__ (self): return "%s/%s" % (self.cidr,self.offset) @classmethod def make (cls, bgp): offset = ord(bgp[1]) prefix,mask = CIDR.decode(AFI.ipv6,bgp[0]+bgp[2:]) return cls(prefix,mask,offset), bgp[CIDR.size(mask)+2:]