diff options
author | Neale Ranns <nranns@cisco.com> | 2019-06-19 07:07:13 -0700 |
---|---|---|
committer | Ole Trøan <otroan@employees.org> | 2019-06-19 15:56:18 +0000 |
commit | bc764c8bc26282445901dc9aa32223a13f18e8dc (patch) | |
tree | 5269531d092bb3d9f8ba9bad025d2057314dd473 /test | |
parent | 6a69b2483198de57ef304cb5e05a2ecfb960e68f (diff) |
l2: BD ARP termination entry API update
Type: refactor
Change-Id: I492b6e88acadf0ab0e4d7b1c0c5d1cab84c1726f
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/test_gbp.py | 9 | ||||
-rw-r--r-- | test/test_l2bd_arp_term.py | 7 | ||||
-rw-r--r-- | test/vpp_l2.py | 42 |
3 files changed, 31 insertions, 27 deletions
diff --git a/test/test_gbp.py b/test/test_gbp.py index 42defbf0d5c..0580fff2b6f 100644 --- a/test/test_gbp.py +++ b/test/test_gbp.py @@ -841,10 +841,10 @@ class TestGBP(VppTestCase): # add the BD ARP termination entry for BVI IP epg.bd_arp_ip4 = VppBridgeDomainArpEntry(self, epg.bd.bd, str(self.router_mac), - epg.bvi_ip4) + epg.bvi_ip4.address) epg.bd_arp_ip6 = VppBridgeDomainArpEntry(self, epg.bd.bd, str(self.router_mac), - epg.bvi_ip6) + epg.bvi_ip6.address) epg.bd_arp_ip4.add_vpp_config() epg.bd_arp_ip6.add_vpp_config() @@ -917,7 +917,8 @@ class TestGBP(VppTestCase): # add the BD ARP termination entry for floating IP for fip in ep.fips: - ba = VppBridgeDomainArpEntry(self, epg_nat.bd.bd, ep.mac, fip) + ba = VppBridgeDomainArpEntry(self, epg_nat.bd.bd, ep.mac, + fip.address) ba.add_vpp_config() # floating IPs route via EPG recirc @@ -2063,7 +2064,7 @@ class TestGBP(VppTestCase): # add the BD ARP termination entry for BVI IP epg.bd_arp_ip4 = VppBridgeDomainArpEntry(self, epg.bd.bd, str(self.router_mac), - epg.bvi_ip4) + epg.bvi_ip4.address) epg.bd_arp_ip4.add_vpp_config() # EPG in VPP diff --git a/test/test_l2bd_arp_term.py b/test/test_l2bd_arp_term.py index fa67acc18ec..bdf0a80caa7 100644 --- a/test/test_l2bd_arp_term.py +++ b/test/test_l2bd_arp_term.py @@ -78,8 +78,11 @@ class TestL2bdArpTerm(VppTestCase): def add_del_arp_term_hosts(self, entries, bd_id=1, is_add=1, is_ipv6=0): for e in entries: ip = e.ip4 if is_ipv6 == 0 else e.ip6 - self.vapi.bd_ip_mac_add_del(bd_id=bd_id, is_add=is_add, ip=ip, - mac=e.mac) + self.vapi.bd_ip_mac_add_del(is_add=is_add, + entry={ + 'bd_id': bd_id, + 'ip': ip, + 'mac': e.mac}) @classmethod def mac_list(cls, b6_range): diff --git a/test/vpp_l2.py b/test/vpp_l2.py index 90de91695f2..3ee0d35384e 100644 --- a/test/vpp_l2.py +++ b/test/vpp_l2.py @@ -8,6 +8,10 @@ from vpp_ip import VppIpAddress from vpp_lo_interface import VppLoInterface from vpp_papi import MACAddress from vpp_sub_interface import L2_VTR_OP +try: + text_type = unicode +except NameError: + text_type = str class L2_PORT_TYPE: @@ -41,19 +45,11 @@ def find_bridge_domain_port(test, bd_id, sw_if_index): def find_bridge_domain_arp_entry(test, bd_id, mac, ip): - vmac = MACAddress(mac) - vip = VppIpAddress(ip) - - if vip.version == 4: - n = 4 - else: - n = 16 - arps = test.vapi.bd_ip_mac_dump(bd_id) for arp in arps: # do IP addr comparison too once .api is fixed... - if vmac.packed == arp.mac_address and \ - vip.bytes == arp.ip_address[:n]: + if mac == str(arp.entry.mac) and \ + ip == str(arp.entry.ip): return True return False @@ -136,28 +132,32 @@ class VppBridgeDomainArpEntry(VppObject): def __init__(self, test, bd, mac, ip): self._test = test self.bd = bd - self.mac = MACAddress(mac) - self.ip = VppIpAddress(ip) + self.mac = mac + self.ip = ip def add_vpp_config(self): - self._test.vapi.bd_ip_mac_add_del(bd_id=self.bd.bd_id, is_add=1, - ip=self.ip.encode(), - mac=self.mac.packed) + self._test.vapi.bd_ip_mac_add_del(is_add=1, + entry={ + 'bd_id': self.bd.bd_id, + 'ip': self.ip, + 'mac': self.mac}) self._test.registry.register(self, self._test.logger) def remove_vpp_config(self): - self._test.vapi.bd_ip_mac_add_del(bd_id=self.bd.bd_id, is_add=0, - ip=self.ip.encode(), - mac=self.mac.packed) + self._test.vapi.bd_ip_mac_add_del(is_add=0, + entry={ + 'bd_id': self.bd.bd_id, + 'ip': self.ip, + 'mac': self.mac}) def query_vpp_config(self): return find_bridge_domain_arp_entry(self._test, self.bd.bd_id, - self.mac.packed, - self.ip.address) + self.mac, + self.ip) def object_id(self): - return "BD-Arp-Entry-%s-%s-%s" % (self.bd, self.mac, self.ip.address) + return "BD-Arp-Entry-%s-%s-%s" % (self.bd, self.mac, self.ip) class VppL2FibEntry(VppObject): |