10c6bd470SfengbojiangAPI 2a9643ea8Slogwang=== 3a9643ea8Slogwang 4a9643ea8Slogwang<!-- 5d30ea906Sjfb8856606 SPDX-License-Identifier: BSD-3-Clause 6d30ea906Sjfb8856606 Copyright(c) 2013-2017 6WIND S.A. 7a9643ea8Slogwang--> 8a9643ea8Slogwang 92bfe3f2eSlogwangThe public API headers are grouped by topics: 10a9643ea8Slogwang 11a9643ea8Slogwang- **device**: 12a9643ea8Slogwang [dev] (@ref rte_dev.h), 13a9643ea8Slogwang [ethdev] (@ref rte_ethdev.h), 14a9643ea8Slogwang [ethctrl] (@ref rte_eth_ctrl.h), 152bfe3f2eSlogwang [rte_flow] (@ref rte_flow.h), 162bfe3f2eSlogwang [rte_tm] (@ref rte_tm.h), 172bfe3f2eSlogwang [rte_mtr] (@ref rte_mtr.h), 18d30ea906Sjfb8856606 [bbdev] (@ref rte_bbdev.h), 19a9643ea8Slogwang [cryptodev] (@ref rte_cryptodev.h), 202bfe3f2eSlogwang [security] (@ref rte_security.h), 21d30ea906Sjfb8856606 [compressdev] (@ref rte_compressdev.h), 22d30ea906Sjfb8856606 [compress] (@ref rte_comp.h), 23*2d9fd380Sjfb8856606 [regexdev] (@ref rte_regexdev.h), 242bfe3f2eSlogwang [eventdev] (@ref rte_eventdev.h), 252bfe3f2eSlogwang [event_eth_rx_adapter] (@ref rte_event_eth_rx_adapter.h), 26d30ea906Sjfb8856606 [event_eth_tx_adapter] (@ref rte_event_eth_tx_adapter.h), 27d30ea906Sjfb8856606 [event_timer_adapter] (@ref rte_event_timer_adapter.h), 28d30ea906Sjfb8856606 [event_crypto_adapter] (@ref rte_event_crypto_adapter.h), 29d30ea906Sjfb8856606 [rawdev] (@ref rte_rawdev.h), 302bfe3f2eSlogwang [metrics] (@ref rte_metrics.h), 312bfe3f2eSlogwang [bitrate] (@ref rte_bitrate.h), 322bfe3f2eSlogwang [latency] (@ref rte_latencystats.h), 33a9643ea8Slogwang [devargs] (@ref rte_devargs.h), 34d30ea906Sjfb8856606 [PCI] (@ref rte_pci.h), 354418919fSjohnjiang [vdev] (@ref rte_bus_vdev.h), 36d30ea906Sjfb8856606 [vfio] (@ref rte_vfio.h) 372bfe3f2eSlogwang 382bfe3f2eSlogwang- **device specific**: 392bfe3f2eSlogwang [softnic] (@ref rte_eth_softnic.h), 40a9643ea8Slogwang [bond] (@ref rte_eth_bond.h), 412bfe3f2eSlogwang [vhost] (@ref rte_vhost.h), 42d30ea906Sjfb8856606 [vdpa] (@ref rte_vdpa.h), 43a9643ea8Slogwang [KNI] (@ref rte_kni.h), 44*2d9fd380Sjfb8856606 [ark] (@ref rte_pmd_ark.h), 452bfe3f2eSlogwang [ixgbe] (@ref rte_pmd_ixgbe.h), 462bfe3f2eSlogwang [i40e] (@ref rte_pmd_i40e.h), 474418919fSjohnjiang [ice] (@ref rte_pmd_ice.h), 48*2d9fd380Sjfb8856606 [iavf] (@ref rte_pmd_iavf.h), 49*2d9fd380Sjfb8856606 [ioat] (@ref rte_ioat_rawdev.h), 502bfe3f2eSlogwang [bnxt] (@ref rte_pmd_bnxt.h), 51d30ea906Sjfb8856606 [dpaa] (@ref rte_pmd_dpaa.h), 524418919fSjohnjiang [dpaa2] (@ref rte_pmd_dpaa2.h), 53*2d9fd380Sjfb8856606 [mlx5] (@ref rte_pmd_mlx5.h), 54d30ea906Sjfb8856606 [dpaa2_mempool] (@ref rte_dpaa2_mempool.h), 55d30ea906Sjfb8856606 [dpaa2_cmdif] (@ref rte_pmd_dpaa2_cmdif.h), 56d30ea906Sjfb8856606 [dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h), 57*2d9fd380Sjfb8856606 [crypto_scheduler] (@ref rte_cryptodev_scheduler.h), 58*2d9fd380Sjfb8856606 [dlb] (@ref rte_pmd_dlb.h), 59*2d9fd380Sjfb8856606 [dlb2] (@ref rte_pmd_dlb2.h) 60a9643ea8Slogwang 61a9643ea8Slogwang- **memory**: 62a9643ea8Slogwang [memseg] (@ref rte_memory.h), 63a9643ea8Slogwang [memzone] (@ref rte_memzone.h), 64a9643ea8Slogwang [mempool] (@ref rte_mempool.h), 65a9643ea8Slogwang [malloc] (@ref rte_malloc.h), 66a9643ea8Slogwang [memcpy] (@ref rte_memcpy.h) 67a9643ea8Slogwang 68a9643ea8Slogwang- **timers**: 69a9643ea8Slogwang [cycles] (@ref rte_cycles.h), 70a9643ea8Slogwang [timer] (@ref rte_timer.h), 71a9643ea8Slogwang [alarm] (@ref rte_alarm.h) 72a9643ea8Slogwang 73a9643ea8Slogwang- **locks**: 74a9643ea8Slogwang [atomic] (@ref rte_atomic.h), 754418919fSjohnjiang [mcslock] (@ref rte_mcslock.h), 76a9643ea8Slogwang [rwlock] (@ref rte_rwlock.h), 774418919fSjohnjiang [spinlock] (@ref rte_spinlock.h), 784418919fSjohnjiang [ticketlock] (@ref rte_ticketlock.h), 794418919fSjohnjiang [RCU] (@ref rte_rcu_qsbr.h) 80a9643ea8Slogwang 81a9643ea8Slogwang- **CPU arch**: 82a9643ea8Slogwang [branch prediction] (@ref rte_branch_prediction.h), 83a9643ea8Slogwang [cache prefetch] (@ref rte_prefetch.h), 842bfe3f2eSlogwang [SIMD] (@ref rte_vect.h), 85a9643ea8Slogwang [byte order] (@ref rte_byteorder.h), 862bfe3f2eSlogwang [CPU flags] (@ref rte_cpuflags.h), 872bfe3f2eSlogwang [CPU pause] (@ref rte_pause.h), 882bfe3f2eSlogwang [I/O access] (@ref rte_io.h) 89a9643ea8Slogwang 90a9643ea8Slogwang- **CPU multicore**: 91a9643ea8Slogwang [interrupts] (@ref rte_interrupts.h), 92a9643ea8Slogwang [launch] (@ref rte_launch.h), 93a9643ea8Slogwang [lcore] (@ref rte_lcore.h), 94a9643ea8Slogwang [per-lcore] (@ref rte_per_lcore.h), 952bfe3f2eSlogwang [service cores] (@ref rte_service.h), 962bfe3f2eSlogwang [keepalive] (@ref rte_keepalive.h), 97a9643ea8Slogwang [power/freq] (@ref rte_power.h) 98a9643ea8Slogwang 99a9643ea8Slogwang- **layers**: 100a9643ea8Slogwang [ethernet] (@ref rte_ether.h), 101a9643ea8Slogwang [ARP] (@ref rte_arp.h), 1024418919fSjohnjiang [HIGIG] (@ref rte_higig.h), 103a9643ea8Slogwang [ICMP] (@ref rte_icmp.h), 1042bfe3f2eSlogwang [ESP] (@ref rte_esp.h), 1054418919fSjohnjiang [IPsec] (@ref rte_ipsec.h), 1064418919fSjohnjiang [IPsec group] (@ref rte_ipsec_group.h), 1074418919fSjohnjiang [IPsec SA] (@ref rte_ipsec_sa.h), 1084418919fSjohnjiang [IPsec SAD] (@ref rte_ipsec_sad.h), 109a9643ea8Slogwang [IP] (@ref rte_ip.h), 110*2d9fd380Sjfb8856606 [frag/reass] (@ref rte_ip_frag.h), 111a9643ea8Slogwang [SCTP] (@ref rte_sctp.h), 112a9643ea8Slogwang [TCP] (@ref rte_tcp.h), 113a9643ea8Slogwang [UDP] (@ref rte_udp.h), 1144418919fSjohnjiang [GTP] (@ref rte_gtp.h), 1152bfe3f2eSlogwang [GRO] (@ref rte_gro.h), 1162bfe3f2eSlogwang [GSO] (@ref rte_gso.h), 117*2d9fd380Sjfb8856606 [GRE] (@ref rte_gre.h), 118*2d9fd380Sjfb8856606 [MPLS] (@ref rte_mpls.h), 119*2d9fd380Sjfb8856606 [VXLAN] (@ref rte_vxlan.h), 120*2d9fd380Sjfb8856606 [Geneve] (@ref rte_geneve.h), 121*2d9fd380Sjfb8856606 [eCPRI] (@ref rte_ecpri.h) 122a9643ea8Slogwang 123a9643ea8Slogwang- **QoS**: 124a9643ea8Slogwang [metering] (@ref rte_meter.h), 125a9643ea8Slogwang [scheduler] (@ref rte_sched.h), 126a9643ea8Slogwang [RED congestion] (@ref rte_red.h) 127a9643ea8Slogwang 1280c6bd470Sfengbojiang- **routing**: 1290c6bd470Sfengbojiang [LPM IPv4 route] (@ref rte_lpm.h), 1300c6bd470Sfengbojiang [LPM IPv6 route] (@ref rte_lpm6.h), 1310c6bd470Sfengbojiang [RIB IPv4] (@ref rte_rib.h), 1320c6bd470Sfengbojiang [RIB IPv6] (@ref rte_rib6.h), 1330c6bd470Sfengbojiang [FIB IPv4] (@ref rte_fib.h), 1340c6bd470Sfengbojiang [FIB IPv6] (@ref rte_fib6.h) 1350c6bd470Sfengbojiang 136a9643ea8Slogwang- **hashes**: 137a9643ea8Slogwang [hash] (@ref rte_hash.h), 138a9643ea8Slogwang [jhash] (@ref rte_jhash.h), 139a9643ea8Slogwang [thash] (@ref rte_thash.h), 140a9643ea8Slogwang [FBK hash] (@ref rte_fbk_hash.h), 141a9643ea8Slogwang [CRC hash] (@ref rte_hash_crc.h) 142a9643ea8Slogwang 1432bfe3f2eSlogwang- **classification** 1442bfe3f2eSlogwang [reorder] (@ref rte_reorder.h), 1452bfe3f2eSlogwang [distributor] (@ref rte_distributor.h), 1462bfe3f2eSlogwang [EFD] (@ref rte_efd.h), 1472bfe3f2eSlogwang [ACL] (@ref rte_acl.h), 1482bfe3f2eSlogwang [member] (@ref rte_member.h), 149d30ea906Sjfb8856606 [flow classify] (@ref rte_flow_classify.h), 150d30ea906Sjfb8856606 [BPF] (@ref rte_bpf.h) 1512bfe3f2eSlogwang 152a9643ea8Slogwang- **containers**: 153a9643ea8Slogwang [mbuf] (@ref rte_mbuf.h), 154d30ea906Sjfb8856606 [mbuf pool ops] (@ref rte_mbuf_pool_ops.h), 155a9643ea8Slogwang [ring] (@ref rte_ring.h), 1564418919fSjohnjiang [stack] (@ref rte_stack.h), 157a9643ea8Slogwang [tailq] (@ref rte_tailq.h), 1582bfe3f2eSlogwang [bitmap] (@ref rte_bitmap.h) 159a9643ea8Slogwang 160a9643ea8Slogwang- **packet framework**: 161a9643ea8Slogwang * [port] (@ref rte_port.h): 162a9643ea8Slogwang [ethdev] (@ref rte_port_ethdev.h), 163a9643ea8Slogwang [ring] (@ref rte_port_ring.h), 164a9643ea8Slogwang [frag] (@ref rte_port_frag.h), 165a9643ea8Slogwang [reass] (@ref rte_port_ras.h), 166a9643ea8Slogwang [sched] (@ref rte_port_sched.h), 167a9643ea8Slogwang [kni] (@ref rte_port_kni.h), 168a9643ea8Slogwang [src/sink] (@ref rte_port_source_sink.h) 169a9643ea8Slogwang * [table] (@ref rte_table.h): 170a9643ea8Slogwang [lpm IPv4] (@ref rte_table_lpm.h), 171a9643ea8Slogwang [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 172a9643ea8Slogwang [ACL] (@ref rte_table_acl.h), 173a9643ea8Slogwang [hash] (@ref rte_table_hash.h), 174a9643ea8Slogwang [array] (@ref rte_table_array.h), 175a9643ea8Slogwang [stub] (@ref rte_table_stub.h) 176a9643ea8Slogwang * [pipeline] (@ref rte_pipeline.h) 177d30ea906Sjfb8856606 [port_in_action] (@ref rte_port_in_action.h) 178d30ea906Sjfb8856606 [table_action] (@ref rte_table_action.h) 179*2d9fd380Sjfb8856606 * SWX pipeline: 180*2d9fd380Sjfb8856606 [control] (@ref rte_swx_ctl.h), 181*2d9fd380Sjfb8856606 [extern] (@ref rte_swx_extern.h), 182*2d9fd380Sjfb8856606 [pipeline] (@ref rte_swx_pipeline.h) 183*2d9fd380Sjfb8856606 * SWX port: 184*2d9fd380Sjfb8856606 [port] (@ref rte_swx_port.h), 185*2d9fd380Sjfb8856606 [ethdev] (@ref rte_swx_port_ethdev.h), 186*2d9fd380Sjfb8856606 [src/sink] (@ref rte_swx_port_source_sink.h) 187*2d9fd380Sjfb8856606 * SWX table: 188*2d9fd380Sjfb8856606 [table] (@ref rte_swx_table.h), 189*2d9fd380Sjfb8856606 [table_em] (@ref rte_swx_table_em.h) 190*2d9fd380Sjfb8856606 * [graph] (@ref rte_graph.h): 191*2d9fd380Sjfb8856606 [graph_worker] (@ref rte_graph_worker.h) 192*2d9fd380Sjfb8856606 * graph_nodes: 193*2d9fd380Sjfb8856606 [eth_node] (@ref rte_node_eth_api.h), 194*2d9fd380Sjfb8856606 [ip4_node] (@ref rte_node_ip4_api.h) 195a9643ea8Slogwang 196a9643ea8Slogwang- **basic**: 197*2d9fd380Sjfb8856606 [bitops] (@ref rte_bitops.h), 198a9643ea8Slogwang [approx fraction] (@ref rte_approx.h), 199a9643ea8Slogwang [random] (@ref rte_random.h), 200a9643ea8Slogwang [config file] (@ref rte_cfgfile.h), 201a9643ea8Slogwang [key/value args] (@ref rte_kvargs.h), 202a9643ea8Slogwang [string] (@ref rte_string_fns.h) 203a9643ea8Slogwang 204a9643ea8Slogwang- **debug**: 205a9643ea8Slogwang [jobstats] (@ref rte_jobstats.h), 206d30ea906Sjfb8856606 [telemetry] (@ref rte_telemetry.h), 2072bfe3f2eSlogwang [pdump] (@ref rte_pdump.h), 208a9643ea8Slogwang [hexdump] (@ref rte_hexdump.h), 209a9643ea8Slogwang [debug] (@ref rte_debug.h), 210a9643ea8Slogwang [log] (@ref rte_log.h), 211*2d9fd380Sjfb8856606 [errno] (@ref rte_errno.h), 212*2d9fd380Sjfb8856606 [trace] (@ref rte_trace.h), 213*2d9fd380Sjfb8856606 [trace_point] (@ref rte_trace_point.h) 214a9643ea8Slogwang 215a9643ea8Slogwang- **misc**: 216a9643ea8Slogwang [EAL config] (@ref rte_eal.h), 217a9643ea8Slogwang [common] (@ref rte_common.h), 2184418919fSjohnjiang [experimental APIs] (@ref rte_compat.h), 2194418919fSjohnjiang [ABI versioning] (@ref rte_function_versioning.h), 220a9643ea8Slogwang [version] (@ref rte_version.h) 221