-
-
-class VppIp6Prefix():
- def __init__(self, prefix, prefixlen):
- self.ip_prefix = ip_address(unicode(prefix))
- self.prefixlen = prefixlen
-
- def encode(self):
- return {'prefix': self.ip_prefix.packed,
- 'len': self.prefixlen}
-
-
-class VppIp4Prefix(VppIp6Prefix):
- pass
-
-
-class VppIpMPrefix():
- def __init__(self, saddr, gaddr, len):
- self.saddr = saddr
- self.gaddr = gaddr
- self.len = len
- self.ip_saddr = ip_address(unicode(self.saddr))
- self.ip_gaddr = ip_address(unicode(self.gaddr))
-
- def encode(self):
-
- if 6 is self.ip_saddr.version:
- prefix = {
- 'af': VppEnum.vl_api_address_family_t.ADDRESS_IP6,
- 'grp_address': {'ip6': self.ip_gaddr.packed},
- 'src_address': {'ip6': self.ip_saddr.packed},
- 'grp_address_length': self.len,
- }
- else:
- prefix = {
- 'af': VppEnum.vl_api_address_family_t.ADDRESS_IP4,
- 'grp_address': {'ip4': self.ip_gaddr.packed},
- 'src_address': {'ip4': self.ip_saddr.packed},
- 'grp_address_length': self.len,
- }
- return prefix