def show_event_logger_on_dut(node): """Show event logger on the DUT node. :param node: DUT node to show traces on. :type node: dict """ PapiExecutor.run_cli_cmd(node, "show event-logger")
def vpp_enable_elog_traces_on_dut(node): """Enable API/CLI/Barrier traces on the DUT node. :param node: DUT node to set up. :type node: dict """ PapiExecutor.run_cli_cmd(node, "elog trace api cli barrier")
def vpp_show_errors_verbose(node): """Run "show errors verbose" debug CLI command. :param node: Node to run command on. :type node: dict """ PapiExecutor.run_cli_cmd(node, 'show errors verbose')
def vpp_show_hardware_detail(node): """Run "show hardware-interfaces detail" debug CLI command. :param node: Node to run command on. :type node: dict """ PapiExecutor.run_cli_cmd(node, 'show hardware detail')
def clear_packet_trace_on_all_duts(nodes): """Clear VPP packet trace. :param nodes: Nodes where the packet trace will be cleared. :type nodes: dict """ for node in nodes.values(): if node['type'] == NodeType.DUT: PapiExecutor.run_cli_cmd(node, cmd="clear trace")
def vpp_get_ip_tables_prefix(node, address): """Get dump of all IP FIB tables on a VPP node. :param node: VPP node. :type node: dict """ addr = ip_address(unicode(address)) PapiExecutor.run_cli_cmd( node, 'show {ip_ver} fib {addr}/{addr_len}'.format( ip_ver='ip6' if addr.version == 6 else 'ip', addr=addr, addr_len=addr.max_prefixlen))
def show_packet_trace_on_all_duts(nodes, maximum=None): """Show VPP packet trace. :param nodes: Nodes from which the packet trace will be displayed. :param maximum: Maximum number of packet traces to be displayed. :type nodes: dict :type maximum: int """ maximum = "max {count}".format(count=maximum) if maximum is not None\ else "" for node in nodes.values(): if node['type'] == NodeType.DUT: PapiExecutor.run_cli_cmd(node, cmd="show trace {max}". format(max=maximum))
def show_log(node): """Show log on the specified topology node. :param node: Topology node. :type node: dict :returns: VPP log data. :rtype: list """ return PapiExecutor.run_cli_cmd(node, "show log")
def vpp_clear_errors_counters(node): """Run "clear errors" CLI command. :param node: Node to run command on. :type node: dict :returns: Verified data from PAPI response. :rtype: dict """ return PapiExecutor.run_cli_cmd(node, 'clear errors', log=False)
def vpp_get_ip_tables(node): """Get dump of all IP FIB tables on a VPP node. :param node: VPP node. :type node: dict """ PapiExecutor.run_cli_cmd(node, 'show ip fib') PapiExecutor.run_cli_cmd(node, 'show ip fib summary') PapiExecutor.run_cli_cmd(node, 'show ip6 fib') PapiExecutor.run_cli_cmd(node, 'show ip6 fib summary')
def vpp_enable_traces_on_dut(node, fail_on_error=False): """Enable vpp packet traces on the DUT node. :param node: DUT node to set up. :param fail_on_error: If True, keyword fails if an error occurs, otherwise passes. :type node: dict :type fail_on_error: bool """ cmds = [ "trace add dpdk-input 50", "trace add vhost-user-input 50", "trace add memif-input 50" ] for cmd in cmds: try: PapiExecutor.run_cli_cmd(node, cmd) except AssertionError: if fail_on_error: raise