MCPcopy Create free account
hub / github.com/FDio/vpp / resolve_arp

Method resolve_arp

test/vpp_pg_interface.py:586–620  ·  view source on GitHub ↗

Resolve ARP using provided packet-generator interface :param pg_interface: interface used to resolve, if None then this interface is used

(self, pg_interface=None)

Source from the content-addressed store, hash-verified

584 )
585
586 def resolve_arp(self, pg_interface=None):
587 """Resolve ARP using provided packet-generator interface
588
589 :param pg_interface: interface used to resolve, if None then this
590 interface is used
591
592 """
593 if pg_interface is None:
594 pg_interface = self
595 self.test.logger.info(
596 "Sending ARP request for %s on port %s"
597 % (self.local_ip4, pg_interface.name)
598 )
599 arp_req = self.create_arp_req()
600 pg_interface.add_stream(arp_req)
601 pg_interface.enable_capture()
602 self.test.pg_start()
603 self.test.logger.info(self.test.vapi.cli("show trace"))
604 try:
605 captured_packet = pg_interface.wait_for_packet(1)
606 except CaptureTimeoutError:
607 self.test.logger.info("No ARP received on port %s" % pg_interface.name)
608 return
609 arp_reply = captured_packet.copy() # keep original for exception
610 if ARP not in arp_reply:
611 raise UnexpectedPacketError(
612 ppp("Unexpected response to ARP request:", captured_packet)
613 )
614 if arp_reply[ARP].op == getattr(ARP, "is_at", 2):
615 self.test.logger.info(
616 "VPP %s MAC address is %s " % (self.name, arp_reply[ARP].hwsrc)
617 )
618 self._local_mac = arp_reply[ARP].hwsrc
619 else:
620 self.test.logger.info("No ARP received on port %s" % pg_interface.name)
621
622 def resolve_ndp(self, pg_interface=None, timeout=1.0, link_layer=False):
623 """Resolve NDP using provided packet-generator interface

Callers 15

setUpMethod · 0.45
setUpMethod · 0.45
setUpMethod · 0.45
setUpClassMethod · 0.45
setUpClassMethod · 0.45
setUpClassMethod · 0.45
configure_interfaceMethod · 0.45
setUpClassMethod · 0.45
setUpClassMethod · 0.45
setUpClassMethod · 0.45
setUpClassMethod · 0.45
setUpClassMethod · 0.45

Calls 9

create_arp_reqMethod · 0.95
pppFunction · 0.90
pg_startMethod · 0.80
copyMethod · 0.80
add_streamMethod · 0.45
enable_captureMethod · 0.45
cliMethod · 0.45
wait_for_packetMethod · 0.45

Tested by 15

setUpMethod · 0.36
setUpMethod · 0.36
setUpMethod · 0.36
setUpClassMethod · 0.36
setUpClassMethod · 0.36
setUpClassMethod · 0.36
configure_interfaceMethod · 0.36
setUpClassMethod · 0.36
setUpClassMethod · 0.36
setUpClassMethod · 0.36
setUpClassMethod · 0.36
setUpClassMethod · 0.36