176fb8fc4SThomas MonjalonAPI 26b919b0fSThomas Monjalon=== 36b919b0fSThomas Monjalon 46b919b0fSThomas Monjalon<!-- 5a6562f6dSErik Gabriel Carrillo SPDX-License-Identifier: BSD-3-Clause 6a6562f6dSErik Gabriel Carrillo Copyright(c) 2013-2017 6WIND S.A. 76b919b0fSThomas Monjalon--> 86b919b0fSThomas Monjalon 913b1a597SThomas MonjalonThe public API headers are grouped by topics: 106b919b0fSThomas Monjalon 116b919b0fSThomas Monjalon- **device**: 122b3f27eeSThomas Monjalon [dev](@ref rte_dev.h), 136b919b0fSThomas Monjalon [ethdev](@ref rte_ethdev.h), 142b3f27eeSThomas Monjalon [ethctrl](@ref rte_eth_ctrl.h), 15b1a4b4cbSAdrien Mazarguil [rte_flow](@ref rte_flow.h), 165d109defSCristian Dumitrescu [rte_tm](@ref rte_tm.h), 176613ffe1SCristian Dumitrescu [rte_mtr](@ref rte_mtr.h), 184935e1e9SAmr Mokhtar [bbdev](@ref rte_bbdev.h), 19d11b0f30SDeclan Doherty [cryptodev](@ref rte_cryptodev.h), 20c261d143SAkhil Goyal [security](@ref rte_security.h), 21ed7dd94fSFiona Trahe [compressdev](@ref rte_compressdev.h), 22f87bdc1dSFiona Trahe [compress](@ref rte_comp.h), 23bab9497eSJerin Jacob [regexdev](@ref rte_regexdev.h), 24d82cac58SJerin Jacob [mldev](@ref rte_mldev.h), 25b36970f2SChengwen Feng [dmadev](@ref rte_dmadev.h), 2679cd6f95SThomas Monjalon [gpudev](@ref rte_gpudev.h), 2771f23843SJerin Jacob [eventdev](@ref rte_eventdev.h), 28dcc806c2SNikhil Rao [event_eth_rx_adapter](@ref rte_event_eth_rx_adapter.h), 29c9bf8394SNikhil Rao [event_eth_tx_adapter](@ref rte_event_eth_tx_adapter.h), 30a6562f6dSErik Gabriel Carrillo [event_timer_adapter](@ref rte_event_timer_adapter.h), 31dbe869baSAbhinandan Gujjar [event_crypto_adapter](@ref rte_event_crypto_adapter.h), 3266a30a29SAmit Prakash Shukla [event_dma_adapter](@ref rte_event_dma_adapter.h), 33a9bb0c44SShreyansh Jain [rawdev](@ref rte_rawdev.h), 34bb79058fSThomas Monjalon [metrics](@ref rte_metrics.h), 35bb79058fSThomas Monjalon [bitrate](@ref rte_bitrate.h), 36bb79058fSThomas Monjalon [latency](@ref rte_latencystats.h), 376b919b0fSThomas Monjalon [devargs](@ref rte_devargs.h), 38c94eb6dbSHemant Agrawal [PCI](@ref rte_pci.h), 3942490f38SAideen McLoughlin [vdev](@ref rte_bus_vdev.h), 40c94eb6dbSHemant Agrawal [vfio](@ref rte_vfio.h) 4126fb45a3SFerruh Yigit 4226fb45a3SFerruh Yigit- **device specific**: 43cc6d4215SJasvinder Singh [softnic](@ref rte_eth_softnic.h), 446b919b0fSThomas Monjalon [bond](@ref rte_eth_bond.h), 45a798beb4SYuanhan Liu [vhost](@ref rte_vhost.h), 46d0d4887dSXiaolong Ye [vdpa](@ref rte_vdpa.h), 4726fb45a3SFerruh Yigit [ixgbe](@ref rte_pmd_ixgbe.h), 48dc8bd2f6SFan Zhang [i40e](@ref rte_pmd_i40e.h), 4912b435bfSJeff Guo [iavf](@ref rte_pmd_iavf.h), 507e9b4e58SFerruh Yigit [bnxt](@ref rte_pmd_bnxt.h), 518efa348eSKiran Kumar K [cnxk](@ref rte_pmd_cnxk.h), 5226bb5c4dSAnoob Joseph [cnxk_crypto](@ref rte_pmd_cnxk_crypto.h), 5303714a41SPavan Nikhilesh [cnxk_eventdev](@ref rte_pmd_cnxk_eventdev.h), 541d0f0957SAshwin Sekhar T K [cnxk_mempool](@ref rte_pmd_cnxk_mempool.h), 558c3495f5SHemant Agrawal [dpaa](@ref rte_pmd_dpaa.h), 56c1870f65SAkhil Goyal [dpaa2](@ref rte_pmd_dpaa2.h), 57a0dd7cc7SBing Zhao [mlx5](@ref rte_pmd_mlx5.h), 587ed35990SNipun Gupta [dpaa2_mempool](@ref rte_dpaa2_mempool.h), 5953c71586SNipun Gupta [dpaa2_cmdif](@ref rte_pmd_dpaa2_cmdif.h), 607cfcce8eSJun Yang [dpaax_qdma](@ref rte_pmd_dpaax_qdma.h), 61c667583dSTimothy McDaniel [crypto_scheduler](@ref rte_cryptodev_scheduler.h), 62a05bd1b4SWei Huang [dlb2](@ref rte_pmd_dlb2.h), 63a05bd1b4SWei Huang [ifpga](@ref rte_pmd_ifpga.h) 646b919b0fSThomas Monjalon 656b919b0fSThomas Monjalon- **memory**: 665bce9bedSMattias Rönnblom [per-lcore](@ref rte_per_lcore.h), 675bce9bedSMattias Rönnblom [lcore variables](@ref rte_lcore_var.h), 686b919b0fSThomas Monjalon [memseg](@ref rte_memory.h), 696b919b0fSThomas Monjalon [memzone](@ref rte_memzone.h), 706b919b0fSThomas Monjalon [mempool](@ref rte_mempool.h), 716b919b0fSThomas Monjalon [malloc](@ref rte_malloc.h), 726b919b0fSThomas Monjalon [memcpy](@ref rte_memcpy.h) 736b919b0fSThomas Monjalon 746b919b0fSThomas Monjalon- **timers**: 756b919b0fSThomas Monjalon [cycles](@ref rte_cycles.h), 766b919b0fSThomas Monjalon [timer](@ref rte_timer.h), 776b919b0fSThomas Monjalon [alarm](@ref rte_alarm.h) 786b919b0fSThomas Monjalon 796b919b0fSThomas Monjalon- **locks**: 806b919b0fSThomas Monjalon [atomic](@ref rte_atomic.h), 812173f333SPhil Yang [mcslock](@ref rte_mcslock.h), 829667d97cSStephen Hemminger [pflock](@ref rte_pflock.h), 836b919b0fSThomas Monjalon [rwlock](@ref rte_rwlock.h), 840bee0709SMattias Rönnblom [seqcount](@ref rte_seqcount.h), 850bee0709SMattias Rönnblom [seqlock](@ref rte_seqlock.h), 8664994b56SHonnappa Nagarahalli [spinlock](@ref rte_spinlock.h), 8764994b56SHonnappa Nagarahalli [ticketlock](@ref rte_ticketlock.h), 8864994b56SHonnappa Nagarahalli [RCU](@ref rte_rcu_qsbr.h) 896b919b0fSThomas Monjalon 906b919b0fSThomas Monjalon- **CPU arch**: 916b919b0fSThomas Monjalon [branch prediction](@ref rte_branch_prediction.h), 926b919b0fSThomas Monjalon [cache prefetch](@ref rte_prefetch.h), 9386c743cfSNelio Laranjeiro [SIMD](@ref rte_vect.h), 946b919b0fSThomas Monjalon [byte order](@ref rte_byteorder.h), 9569736db1SJerin Jacob [CPU flags](@ref rte_cpuflags.h), 96841e7ae5SJerin Jacob [CPU pause](@ref rte_pause.h), 97cb217305SAnatoly Burakov [I/O access](@ref rte_io.h), 98cb217305SAnatoly Burakov [power management](@ref rte_power_intrinsics.h) 996b919b0fSThomas Monjalon 1006b919b0fSThomas Monjalon- **CPU multicore**: 1016b919b0fSThomas Monjalon [interrupts](@ref rte_interrupts.h), 1026b919b0fSThomas Monjalon [launch](@ref rte_launch.h), 1036b919b0fSThomas Monjalon [lcore](@ref rte_lcore.h), 10421698354SHarry van Haaren [service cores](@ref rte_service.h), 1055c8baff8SThomas Monjalon [keepalive](@ref rte_keepalive.h), 106f30a1bbdSSivaprasad Tummala [power/freq](@ref rte_power_cpufreq.h), 10757cf5b6dSFerruh Yigit [power/uncore](@ref rte_power_uncore.h), 108cb217305SAnatoly Burakov [PMD power](@ref rte_power_pmd_mgmt.h) 1096b919b0fSThomas Monjalon 1106b919b0fSThomas Monjalon- **layers**: 1116b919b0fSThomas Monjalon [ethernet](@ref rte_ether.h), 11232ae9939SAkhil Goyal [MACsec](@ref rte_macsec.h), 1132b3f27eeSThomas Monjalon [ARP](@ref rte_arp.h), 11401b3156dSKiran Kumar K [HIGIG](@ref rte_higig.h), 1152b3f27eeSThomas Monjalon [ICMP](@ref rte_icmp.h), 116d4b684f7SBoris Pismenny [ESP](@ref rte_esp.h), 1173a97a35bSVladimir Medvedkin [IPsec](@ref rte_ipsec.h), 1183a97a35bSVladimir Medvedkin [IPsec group](@ref rte_ipsec_group.h), 1193a97a35bSVladimir Medvedkin [IPsec SA](@ref rte_ipsec_sa.h), 1203a97a35bSVladimir Medvedkin [IPsec SAD](@ref rte_ipsec_sad.h), 1211a2b549bSRobin Jarry [IPv4](@ref rte_ip4.h), 1221a2b549bSRobin Jarry [IPv6](@ref rte_ip6.h), 12344d00a1dSOlivier Matz [frag/reass](@ref rte_ip_frag.h), 124cc11f659SAkhil Goyal [UDP](@ref rte_udp.h), 1256b919b0fSThomas Monjalon [SCTP](@ref rte_sctp.h), 1266b919b0fSThomas Monjalon [TCP](@ref rte_tcp.h), 127cc11f659SAkhil Goyal [TLS](@ref rte_tls.h), 128cc11f659SAkhil Goyal [DTLS](@ref rte_dtls.h), 129d8e5e69fSTing Xu [GTP](@ref rte_gtp.h), 130e996506aSJiayu Hu [GRO](@ref rte_gro.h), 131ec51443cSJiayu Hu [GSO](@ref rte_gso.h), 13244d00a1dSOlivier Matz [GRE](@ref rte_gre.h), 13344d00a1dSOlivier Matz [MPLS](@ref rte_mpls.h), 13444d00a1dSOlivier Matz [VXLAN](@ref rte_vxlan.h), 13544d00a1dSOlivier Matz [Geneve](@ref rte_geneve.h), 1363a929df1SJie Wang [eCPRI](@ref rte_ecpri.h), 137895ec77bSVolodymyr Fialko [PDCP hdr](@ref rte_pdcp_hdr.h), 138a702bd09SAnoob Joseph [PDCP](@ref rte_pdcp.h), 1393a929df1SJie Wang [L2TPv2](@ref rte_l2tpv2.h), 140e9b8532eSDong Zhou [PPP](@ref rte_ppp.h), 141e9b8532eSDong Zhou [IB](@ref rte_ib.h) 1426b919b0fSThomas Monjalon 1436b919b0fSThomas Monjalon- **QoS**: 1446b919b0fSThomas Monjalon [metering](@ref rte_meter.h), 1456b919b0fSThomas Monjalon [scheduler](@ref rte_sched.h), 1466b919b0fSThomas Monjalon [RED congestion](@ref rte_red.h) 1476b919b0fSThomas Monjalon 1480b459fa0SVladimir Medvedkin- **routing**: 1490b459fa0SVladimir Medvedkin [LPM IPv4 route](@ref rte_lpm.h), 1500b459fa0SVladimir Medvedkin [LPM IPv6 route](@ref rte_lpm6.h), 1510b459fa0SVladimir Medvedkin [RIB IPv4](@ref rte_rib.h), 1520b459fa0SVladimir Medvedkin [RIB IPv6](@ref rte_rib6.h), 1530b459fa0SVladimir Medvedkin [FIB IPv4](@ref rte_fib.h), 1540b459fa0SVladimir Medvedkin [FIB IPv6](@ref rte_fib6.h) 1550b459fa0SVladimir Medvedkin 1566b919b0fSThomas Monjalon- **hashes**: 1576b919b0fSThomas Monjalon [hash](@ref rte_hash.h), 1586b919b0fSThomas Monjalon [jhash](@ref rte_jhash.h), 1592b3f27eeSThomas Monjalon [thash](@ref rte_thash.h), 1604fd8c4cbSVladimir Medvedkin [thash_gfni](@ref rte_thash_gfni.h), 1616b919b0fSThomas Monjalon [FBK hash](@ref rte_fbk_hash.h), 162a266b313SThomas Monjalon [CRC hash](@ref rte_hash_crc.h) 163e8009a07SThomas Monjalon 164e8009a07SThomas Monjalon- **classification** 165e8009a07SThomas Monjalon [reorder](@ref rte_reorder.h), 166ecca8a0bSMattias Rönnblom [dispatcher](@ref rte_dispatcher.h), 167e8009a07SThomas Monjalon [distributor](@ref rte_distributor.h), 168e8009a07SThomas Monjalon [EFD](@ref rte_efd.h), 169e8009a07SThomas Monjalon [ACL](@ref rte_acl.h), 170be41ac2aSFerruh Yigit [member](@ref rte_member.h), 17194972f35SKonstantin Ananyev [BPF](@ref rte_bpf.h) 1726b919b0fSThomas Monjalon 1736b919b0fSThomas Monjalon- **containers**: 1746b919b0fSThomas Monjalon [mbuf](@ref rte_mbuf.h), 175a3acc314SHemant Agrawal [mbuf pool ops](@ref rte_mbuf_pool_ops.h), 1766b919b0fSThomas Monjalon [ring](@ref rte_ring.h), 177*b5458e2cSKonstantin Ananyev [soring](@ref rte_soring.h), 17805d3b528SGage Eads [stack](@ref rte_stack.h), 1796b919b0fSThomas Monjalon [tailq](@ref rte_tailq.h), 18099a11976SMattias Rönnblom [bitset](@ref rte_bitset.h), 181a266b313SThomas Monjalon [bitmap](@ref rte_bitmap.h) 1826b919b0fSThomas Monjalon 1836b919b0fSThomas Monjalon- **packet framework**: 1846b919b0fSThomas Monjalon * [port](@ref rte_port.h): 1856b919b0fSThomas Monjalon [ethdev](@ref rte_port_ethdev.h), 1866b919b0fSThomas Monjalon [ring](@ref rte_port_ring.h), 1876b919b0fSThomas Monjalon [frag](@ref rte_port_frag.h), 1886b919b0fSThomas Monjalon [reass](@ref rte_port_ras.h), 1896b919b0fSThomas Monjalon [sched](@ref rte_port_sched.h), 1906b919b0fSThomas Monjalon [src/sink](@ref rte_port_source_sink.h) 1916b919b0fSThomas Monjalon * [table](@ref rte_table.h): 1926b919b0fSThomas Monjalon [lpm IPv4](@ref rte_table_lpm.h), 1936b919b0fSThomas Monjalon [lpm IPv6](@ref rte_table_lpm_ipv6.h), 1946b919b0fSThomas Monjalon [ACL](@ref rte_table_acl.h), 1956b919b0fSThomas Monjalon [hash](@ref rte_table_hash.h), 1966b919b0fSThomas Monjalon [array](@ref rte_table_array.h), 1976b919b0fSThomas Monjalon [stub](@ref rte_table_stub.h) 1986b919b0fSThomas Monjalon * [pipeline](@ref rte_pipeline.h) 199f0e352ddSJasvinder Singh [port_in_action](@ref rte_port_in_action.h) 200654dd411SJasvinder Singh [table_action](@ref rte_table_action.h) 20156492fd5SCristian Dumitrescu * SWX pipeline: 202e9d870ddSCristian Dumitrescu [control](@ref rte_swx_ctl.h), 2031e4c88caSCristian Dumitrescu [extern](@ref rte_swx_extern.h), 20456492fd5SCristian Dumitrescu [pipeline](@ref rte_swx_pipeline.h) 2056e0ca01cSCristian Dumitrescu * SWX port: 206ecc5f433SCristian Dumitrescu [port](@ref rte_swx_port.h), 207394813ebSCristian Dumitrescu [ethdev](@ref rte_swx_port_ethdev.h), 208e2b8dc52SVenkata Suresh Kumar P [fd](@ref rte_swx_port_fd.h), 20977a41301SCristian Dumitrescu [ring](@ref rte_swx_port_ring.h), 210394813ebSCristian Dumitrescu [src/sink](@ref rte_swx_port_source_sink.h) 211e9d870ddSCristian Dumitrescu * SWX table: 212d0a00966SCristian Dumitrescu [table](@ref rte_swx_table.h), 213d0a00966SCristian Dumitrescu [table_em](@ref rte_swx_table_em.h) 21466440b7bSCristian Dumitrescu [table_wm](@ref rte_swx_table_wm.h) 215a2da7427SJerin Jacob * [graph](@ref rte_graph.h): 216a2bc0584SZhirun Yan [graph_worker](@ref rte_graph_worker.h) 217947d7f68SNithin Dabilpuram * graph_nodes: 218947d7f68SNithin Dabilpuram [eth_node](@ref rte_node_eth_api.h), 21912aa8a16SJerin Jacob [ip4_node](@ref rte_node_ip4_api.h), 22058fbbccaSRakesh Kudurumalla [ip6_node](@ref rte_node_ip6_api.h), 22158fbbccaSRakesh Kudurumalla [udp4_input_node](@ref rte_node_udp4_input_api.h) 2226b919b0fSThomas Monjalon 2236b919b0fSThomas Monjalon- **basic**: 2247f3aa086SJoyce Kong [bitops](@ref rte_bitops.h), 2256b919b0fSThomas Monjalon [approx fraction](@ref rte_approx.h), 2266b919b0fSThomas Monjalon [random](@ref rte_random.h), 2274149b1fbSRobin Jarry [checksum](@ref rte_cksum.h), 2282b3f27eeSThomas Monjalon [config file](@ref rte_cfgfile.h), 2296b919b0fSThomas Monjalon [key/value args](@ref rte_kvargs.h), 230e3e579f5SChengwen Feng [argument parsing](@ref rte_argparse.h), 231077596a4SPaul Szczepanek [ptr_compress](@ref rte_ptr_compress.h), 2328fa2da94STyler Retzlaff [string](@ref rte_string_fns.h), 2338fa2da94STyler Retzlaff [thread](@ref rte_thread.h) 2346b919b0fSThomas Monjalon 2356b919b0fSThomas Monjalon- **debug**: 2362b3f27eeSThomas Monjalon [jobstats](@ref rte_jobstats.h), 2378877ac68SCiara Power [telemetry](@ref rte_telemetry.h), 2388d23ce8fSStephen Hemminger [pcapng](@ref rte_pcapng.h), 2396d059e99SReshma Pattan [pdump](@ref rte_pdump.h), 2402b3f27eeSThomas Monjalon [hexdump](@ref rte_hexdump.h), 2416b919b0fSThomas Monjalon [debug](@ref rte_debug.h), 2426b919b0fSThomas Monjalon [log](@ref rte_log.h), 24327db82c7SJerin Jacob [errno](@ref rte_errno.h), 24427db82c7SJerin Jacob [trace](@ref rte_trace.h), 24527db82c7SJerin Jacob [trace_point](@ref rte_trace_point.h) 2466b919b0fSThomas Monjalon 2476b919b0fSThomas Monjalon- **misc**: 2486b919b0fSThomas Monjalon [EAL config](@ref rte_eal.h), 2496b919b0fSThomas Monjalon [common](@ref rte_common.h), 250dc61aa74SBruce Richardson [experimental APIs](@ref rte_compat.h), 251dc61aa74SBruce Richardson [ABI versioning](@ref rte_function_versioning.h), 2526b919b0fSThomas Monjalon [version](@ref rte_version.h) 2537f932642SJuraj Linkeš 2547f932642SJuraj Linkeš- **tests**: 2557f932642SJuraj Linkeš [**DTS**](@dts_api_main_page) 256