:orphan: .. index:: pair: group; Test API .. _doxid-group__te__ts__tapi: Test API ======== .. toctree:: :hidden: group_tapi_conf.rst group_tapi_dpdk_grp.rst group_tapi_devices.rst group_tapi_netenv.rst group_tapi_run.rst group_tapi_sockets.rst group_tapi_traffic.rst group_tapi_scenario.rst /pages/group_te_lib_rpc.rst The Test API (TAPI) is what a test scenario is written against. Every module below wraps some capability of a :ref: ``Test Agent `` - a remote procedure call, a configuration subtree, a traffic generator, a command line tool - behind a C interface that a test can call directly. Tests link against these libraries; they are engine-side, not agent-side. The :ref: ``Test Suite `` page describes how a suite is laid out and built, and :ref: ``Test `` covers the scaffolding every test scenario uses. | :ref:`Configuring the test bed` | :ref:`Addressing and routing` | :ref:`Address pools` | :ref:`Base network settings` | :ref:`IP rules` | :ref:`IPv6` | :ref:`L4 port allocation` | :ref:`Neighbour table` | :ref:`Routing table` | :ref:`Configurator API` | :ref:`Configuration backup manipulation` | :ref:`Configuration tree access operations` | :ref:`Configuration tree traversal` | :ref:`Synchronising with an agent` | :ref:`Test Agent reboot` | :ref:`Diagnostics and console` | :ref:`ARL table` | :ref:`Command monitor` | :ref:`DUT serial console` | :ref:`Serial console parsers` | :ref:`Sniffers` | :ref:`Host resources` | :ref:`Block devices subtree` | :ref:`CPU topology` | :ref:`Kernel modules` | :ref:`PCI devices` | :ref:`Processes` | :ref:`RAM` | :ref:`System options (obsolete)` | :ref:`System parameters` | :ref:`Interfaces and links` | :ref:`Bonding and bridging` | :ref:`Bridges` | :ref:`Ethernet PHY` | :ref:`Interface features and offloads` | :ref:`Interface hardware addresses` | :ref:`Interface interrupts configuration` | :ref:`Interface statistics` | :ref:`Network emulator` | :ref:`Queuing disciplines` | :ref:`tc qdisc TBF configuration` | :ref:`TAP interfaces` | :ref:`Network services and daemons` | :ref:`DHCP server` | :ref:`L2TP` | :ref:`NTP daemon` | :ref:`Open vSwitch` | :ref:`PPPoE server` | :ref:`Solarflare PTP daemon` | :ref:`Tunnels` | :ref:`VTun daemon` | :ref:`Virtual machines` | :ref:`XEN` | :ref:`iptables` | :ref:`The configuration tree itself` | :ref:`Agent keys` | :ref:`Change tracking` | :ref:`Configuration cache` | :ref:`Environment variables` | :ref:`Local subtree` | :ref:`RCF via Configurator` | :ref:`Topology and namespaces` | :ref:`Agent namespaces` | :ref:`Agent network topology` | :ref:`Agent, namespace and interface map` | :ref:`Network switch` | :ref:`DPDK` | :ref:`DPDK helpers` | :ref:`DPDK statistics` | :ref:`RTE flow helpers` | :ref:`l2fwd` | :ref:`Devices and services` | :ref:`BPF and XDP` | :ref:`rxq_stats BPF program` | :ref:`Media data` | :ref:`DLNA media files` | :ref:`Media files` | :ref:`Media player control` | :ref:`mplayer` | :ref:`NVMe over Fabrics` | :ref:`Kernel target` | :ref:`ONVMe target` | :ref:`Storage` | :ref:`Generic storage operations` | :ref:`Local storage device` | :ref:`Storage FTP client` | :ref:`Storage client` | :ref:`Storage server` | :ref:`UPnP` | :ref:`UPnP common definitions` | :ref:`UPnP content directory resources` | :ref:`UPnP content directory service` | :ref:`UPnP control point` | :ref:`UPnP device information` | :ref:`UPnP service information` | :ref:`Wi-Fi client` | :ref:`Control WPA client` | :ref:`Control WPA supplicant` | :ref:`Wi-Fi security` | :ref:`Network environment and topology` | :ref:`Gateway test parameters` | :ref:`High level network setup` | :ref:`Network setup library` | :ref:`Network definition in YAML` | :ref:`Test environment interaction` | :ref:`Route gateway control` | :ref:`Running programs on an agent` | :ref:`Agent job control` | :ref:`Agent-side job control` | :ref:`Configurator job factory` | :ref:`Job control via Configurator` | :ref:`Job internals` | :ref:`Job methods` | :ref:`Option handling helpers` | :ref:`convenience macros for option` | :ref:`functions for argument formatting` | :ref:`RPC job factory` | :ref:`Network performance tools` | :ref:`Cisco TRex` | :ref:`NPtcp` | :ref:`Network throughput tools` | :ref:`netperf` | :ref:`ping` | :ref:`sfnt-pingpong` | :ref:`wrk` | :ref:`Server and service tools` | :ref:`DNS zone files` | :ref:`HAProxy` | :ref:`HAProxy configuration file` | :ref:`dnsperf` | :ref:`memaslap` | :ref:`memcached` | :ref:`memtier_benchmark` | :ref:`redis-benchmark` | :ref:`redis-server` | :ref:`unbound DNS server` | :ref:`Storage and filesystem tools` | :ref:`fio` | :ref:`fio helpers` | :ref:`fio internals` | :ref:`mke2fs` | :ref:`System and diagnostic tools` | :ref:`GTest` | :ref:`OpenSSH` | :ref:`ctorrent` | :ref:`bttrack torrent tracker` | :ref:`ethtool` | :ref:`packetdrill` | :ref:`stress` | :ref:`Sockets and I/O` | :ref:`High level socket helpers` | :ref:`I/O multiplexers` | :ref:`struct sockaddr helpers` | :ref:`Traffic generation and capture` | :ref:`Open vSwitch flow rules` | :ref:`RADIUS server and CSAP` | :ref:`Traffic Application Domain` | :ref:`ARP` | :ref:`ATM` | :ref:`CLI` | :ref:`DHCP` | :ref:`Ethernet` | :ref:`Forwarder module` | :ref:`Generic TAD API` | :ref:`IGMP` | :ref:`IP stack` | :ref:`Common functions for IPv4 and IPv6` | :ref:`ICMP` | :ref:`ICMP4` | :ref:`ICMP6` | :ref:`IPv4` | :ref:`IPv6` | :ref:`Socket` | :ref:`TCP` | :ref:`UDP` | :ref:`Network Data Notation (NDN)` | :ref:`PCAP` | :ref:`PPP` | :ref:`PPPOE` | :ref:`Packet flow processing` | :ref:`RTE mbuf` | :ref:`SNMP` | :ref:`STP` | :ref:`iSCSI CSAP` | :ref:`Writing a test scenario` | :ref:`Engine and agent files` | :ref:`Memory helpers` | :ref:`Stack of jumps` | :ref:`TRC tags` | :ref:`Target requirements` | :ref:`Test` | :ref:`Network environment` | :ref:`Test execution flow` | :ref:`Test misc` | :ref:`Test parameters` | :ref:`Test run status`