X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fvpp_mac.py;h=b20bf54634c03ffeaa2ff989e37cca5ea8a7b3e3;hb=7f99183a20d60cd5c648cc23d7a2f30a594a215b;hp=c0e697461750cd29b557f946be2be053e99f6cf9;hpb=93cc3ee3b3a9c9224a1446625882205f3282a949;p=vpp.git diff --git a/test/vpp_mac.py b/test/vpp_mac.py index c0e69746175..b20bf54634c 100644 --- a/test/vpp_mac.py +++ b/test/vpp_mac.py @@ -2,13 +2,24 @@ 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 { @@ -21,19 +32,19 @@ class VppMacAddress(): @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