MAC Types
"""
+import binascii
-from util import mactobinary
+
+def mactobinary(mac):
+ """ Convert the : separated format into binary packet data for the API """
+ return binascii.unhexlify(mac.replace(':', ''))
+
+
+def binarytomac(binary):
+ """ Convert binary packed data in a : separated string """
+ x = b':'.join(binascii.hexlify(binary)[i:i + 2]
+ for i in range(0, 12, 2))
+ return str(x.decode('ascii'))
class VppMacAddress():
def __init__(self, addr):
- self.address = addr
+ self._address = addr
def encode(self):
return {
@property
def address(self):
- return self.addr.address
+ return self._address
def __str__(self):
return self.address
def __eq__(self, other):
if isinstance(other, self.__class__):
- return self.address == other.addres
+ return self.address == other.address
elif hasattr(other, "bytes"):
# vl_api_mac_addres_t
return self.bytes == other.bytes
else:
- raise Exception("Comparing VppMacAddress:%s"
+ raise TypeError("Comparing VppMacAddress:%s"
"with unknown type: %s" %
(self, other))
return False