MAP: Use explicit address/prefix types in API
[vpp.git] / test / vpp_ip.py
index e92c919..2083e03 100644 (file)
@@ -119,6 +119,10 @@ class VppIpAddress():
     def bytes(self):
         return self.addr.bytes
 
+    @property
+    def bytes(self):
+        return self.addr.bytes
+
     @property
     def address(self):
         return self.addr.address
@@ -168,10 +172,18 @@ class VppIpPrefix():
     def address(self):
         return self.addr.address
 
+    @property
+    def bytes(self):
+        return self.addr.bytes
+
     @property
     def length(self):
         return self.len
 
+    @property
+    def is_ip6(self):
+        return self.addr.is_ip6
+
     def __str__(self):
         return "%s/%d" % (self.address, self.length)
 
@@ -188,6 +200,20 @@ class VppIpPrefix():
         return False
 
 
+class VppIp6Prefix():
+    def __init__(self, prefix, prefixlen):
+        self.ip_prefix = ip_address(unicode(prefix))
+        self.prefixlen = prefixlen
+
+    def encode(self):
+        return {'prefix': {'address': self.ip_prefix.packed},
+                'len': self.prefixlen}
+
+
+class VppIp4Prefix(VppIp6Prefix):
+    pass
+
+
 class VppIpMPrefix():
     def __init__(self, saddr, gaddr, len):
         self.saddr = saddr