+ @property
+ def version(self):
+ return self.ip_addr.version
+
+ @property
+ def address(self):
+ return self.addr
+
+ @property
+ def length(self):
+ if self.version is 6:
+ return 128
+ else:
+ return 32
+
+ @property
+ def bytes(self):
+ return self.ip_addr.packed
+
+ def __eq__(self, other):
+ if isinstance(other, self.__class__):
+ return self.ip_addr == other.ip_addr
+ elif hasattr(other, "ip4") and hasattr(other, "ip6"):
+ # vl_api_address_union_t
+ if 4 is self.version:
+ return self.ip_addr.packed == other.ip4.address
+ else:
+ return self.ip_addr.packed == other.ip6.address
+ else:
+ raise Exception("Comparing VppIpAddresUnions:%s"
+ " with unknown type: %s" %
+ (self, other))
+
+ return False
+