papi: enhance MACAddress() equality

Allows for comparison without needing str(MACAddress())

 Traceback (most recent call last):
  File "/vpp/test/test_ip6.py", line 1074, in test_icmpv6_echo
    self.assertEqual(ether.dst, self.pg0.remote_mac)
 AssertionError: '02:01:00:00:ff:02' != MACAddress(02:01:00:00:ff:02)

Type: feature

Change-Id: Ife1cbfc74d477695d15b33a19da7dd2fa241a348
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This commit is contained in:
Paul Vinciguerra
2019-11-12 12:11:00 -05:00
committed by Ole Trøan
parent 44d06916b9
commit 6af62565e3

View File

@ -54,8 +54,14 @@ class MACAddress():
return '%s(%s)' % (self.__class__.__name__, self.mac_string)
def __eq__(self, other):
if not isinstance(other, MACAddress):
return NotImplemented
try:
# if it looks like a mac address, we'll take it.
# (allows for equality with scapy hw-addresses)
return self.mac_binary == MACAddress(other).mac_binary
except Exception:
return NotImplemented
return self.mac_binary == other.mac_binary
def __ne__(self, other):