2.175. vpp_pg_interface module¶
- exception vpp_pg_interface.CaptureTimeoutError¶
Bases:
ExceptionException raised if capture or packet doesn’t appear within timeout
- class vpp_pg_interface.VppPGInterface(test, pg_index, gso, gso_size, mode)¶
Bases:
vpp_interface.VppInterfaceVPP packet-generator interface
- add_stream(pkts, nb_replays=None, worker=None)¶
Add a stream of packets to this packet-generator
- Parameters
pkts – iterable packets
- assert_nothing_captured(remark=None, filter_out_fn=<function is_ipv6_misc>)¶
Assert that nothing unfiltered was captured on interface
- Parameters
remark – remark printed into debug logs
filter_out_fn – filter applied to each packet, packets for which the filter returns True are removed from capture
- property capture_cli¶
CLI string to start capture on this interface
- coalesce_disable()¶
Disable packet coalesce on this packet-generator interface
- coalesce_enable()¶
Enable packet coalesce on this packet-generator interface
- property coalesce_is_enabled¶
coalesce enabled on packet-generator interface
- create_arp_req()¶
Create ARP request applicable for this interface
- create_ndp_req(addr=None)¶
Create NDP - NS applicable for this interface
- disable_capture()¶
- enable_capture()¶
Enable capture on this packet-generator interface of at most n packets. If n < 0, this is no limit
- generate_debug_aid(kind)¶
Create a hardlink to the out file with a counter and a file containing stack trace to ease debugging in case of multiple capture files present.
- get_cap_name(worker=None)¶
return capture name for this interface and given worker
- get_capture(expected_count=None, remark=None, timeout=1, filter_out_fn=<function is_ipv6_misc>)¶
Get captured packets
- Parameters
expected_count – expected number of packets to capture, if None, then self.test.packet_count_for_dst_pg_idx is used to lookup the expected count
remark – remark printed into debug logs
timeout – how long to wait for packets
filter_out_fn – filter applied to each packet, packets for which the filter returns True are removed from capture
- Returns
iterable packets
- get_in_path(worker)¶
pcap file path - injected packets
- get_input_cli(nb_replays=None, worker=None)¶
return CLI string to load the injected packets
- property gso_enabled¶
gso enabled on packet-generator interface
- property gso_size¶
gso size on packet-generator interface
- property in_history_counter¶
Self-incrementing counter used when renaming old pcap files
- property out_history_counter¶
Self-incrementing counter used when renaming old pcap files
- property out_path¶
pcap file path - captured packets
- property pg_index¶
packet-generator interface index assigned by VPP
- rename_old_pcap_file(path, counter)¶
- resolve_arp(pg_interface=None)¶
Resolve ARP using provided packet-generator interface
- Parameters
pg_interface – interface used to resolve, if None then this interface is used
- resolve_ndp(pg_interface=None, timeout=1, link_layer=False)¶
Resolve NDP using provided packet-generator interface
- Parameters
pg_interface – interface used to resolve, if None then this interface is used
timeout – how long to wait for response before giving up
link_layer – resolve for global address if False (default) or for link-layer address if True
- verify_enough_packet_data_in_pcap()¶
Check if enough data is available in file handled by internal pcap reader so that a whole packet can be read.
- Returns
True if enough data present, else False
- wait_for_capture_file(timeout=1)¶
Wait until pcap capture file appears
- Parameters
timeout – How long to wait for the packet (default 1s)
- Returns
True/False if the file is present or appears within timeout
- wait_for_packet(timeout, filter_out_fn=<function is_ipv6_misc>)¶
Wait for next packet captured with a timeout
- Parameters
timeout – How long to wait for the packet
- Returns
Captured packet if no packet arrived within timeout
- Raises
Exception – if no packet arrives within timeout
- wait_for_pg_stop()¶
- vpp_pg_interface.is_ipv6_misc(p)¶
Is packet one of uninteresting IPv6 broadcasts?