def find_nbr(test, sw_if_index, nbr_addr, is_static=0, mac=None):
ip_addr = ip_address(text_type(nbr_addr))
e = VppEnum.vl_api_ip_neighbor_flags_t
- nbrs = test.vapi.ip_neighbor_dump(sw_if_index,
- is_ipv6=(6 == ip_addr.version))
+ nbrs = test.vapi.ip_neighbor_dump(sw_if_index=sw_if_index,
+ af=ip_addr.vapi_af)
for n in nbrs:
- if ip_addr == n.neighbor.ip_address and \
+ if sw_if_index == n.neighbor.sw_if_index and \
+ ip_addr == n.neighbor.ip_address and \
is_static == (n.neighbor.flags & e.IP_API_NEIGHBOR_FLAG_STATIC):
if mac:
if mac == str(n.neighbor.mac_address):
flags=self.flags)
self.stats_index = r.stats_index
self._test.registry.register(self, self._test.logger)
+ return self
def remove_vpp_config(self):
self._test.vapi.ip_neighbor_add_del(
self.nbr_addr,
self.is_static())
- def __str__(self):
- return self.object_id()
-
def object_id(self):
return ("%d:%s" % (self.sw_if_index, self.nbr_addr))
def get_stats(self):
- c = self._test.statistics.get_counter("/net/adjacency")
+ c = self._test.statistics["/net/adjacency"]
return c[0][self.stats_index]