Exemple #1
0
    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")
Exemple #2
0
    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")
Exemple #3
0
    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')
Exemple #4
0
    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')
Exemple #5
0
    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")
Exemple #6
0
    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))
Exemple #7
0
    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))
Exemple #8
0
    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")
Exemple #9
0
    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)
Exemple #10
0
    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')
Exemple #11
0
    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