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), 24b36970f2SChengwen Feng [dmadev] (@ref rte_dmadev.h), 2571f23843SJerin Jacob [eventdev] (@ref rte_eventdev.h), 26dcc806c2SNikhil Rao [event_eth_rx_adapter] (@ref rte_event_eth_rx_adapter.h), 27c9bf8394SNikhil Rao [event_eth_tx_adapter] (@ref rte_event_eth_tx_adapter.h), 28a6562f6dSErik Gabriel Carrillo [event_timer_adapter] (@ref rte_event_timer_adapter.h), 29dbe869baSAbhinandan Gujjar [event_crypto_adapter] (@ref rte_event_crypto_adapter.h), 30a9bb0c44SShreyansh Jain [rawdev] (@ref rte_rawdev.h), 31bb79058fSThomas Monjalon [metrics] (@ref rte_metrics.h), 32bb79058fSThomas Monjalon [bitrate] (@ref rte_bitrate.h), 33bb79058fSThomas Monjalon [latency] (@ref rte_latencystats.h), 346b919b0fSThomas Monjalon [devargs] (@ref rte_devargs.h), 35c94eb6dbSHemant Agrawal [PCI] (@ref rte_pci.h), 3642490f38SAideen McLoughlin [vdev] (@ref rte_bus_vdev.h), 37c94eb6dbSHemant Agrawal [vfio] (@ref rte_vfio.h) 3826fb45a3SFerruh Yigit 3926fb45a3SFerruh Yigit- **device specific**: 40cc6d4215SJasvinder Singh [softnic] (@ref rte_eth_softnic.h), 416b919b0fSThomas Monjalon [bond] (@ref rte_eth_bond.h), 42a798beb4SYuanhan Liu [vhost] (@ref rte_vhost.h), 43d0d4887dSXiaolong Ye [vdpa] (@ref rte_vdpa.h), 446b919b0fSThomas Monjalon [KNI] (@ref rte_kni.h), 4526fb45a3SFerruh Yigit [ixgbe] (@ref rte_pmd_ixgbe.h), 46dc8bd2f6SFan Zhang [i40e] (@ref rte_pmd_i40e.h), 47328dc5baSHaiyue Wang [ice] (@ref rte_pmd_ice.h), 4812b435bfSJeff Guo [iavf] (@ref rte_pmd_iavf.h), 49b28a44fdSBruce Richardson [ioat] (@ref rte_ioat_rawdev.h), 507e9b4e58SFerruh Yigit [bnxt] (@ref rte_pmd_bnxt.h), 51*8efa348eSKiran Kumar K [cnxk] (@ref rte_pmd_cnxk.h), 528c3495f5SHemant Agrawal [dpaa] (@ref rte_pmd_dpaa.h), 53c1870f65SAkhil Goyal [dpaa2] (@ref rte_pmd_dpaa2.h), 54a0dd7cc7SBing Zhao [mlx5] (@ref rte_pmd_mlx5.h), 557ed35990SNipun Gupta [dpaa2_mempool] (@ref rte_dpaa2_mempool.h), 5653c71586SNipun Gupta [dpaa2_cmdif] (@ref rte_pmd_dpaa2_cmdif.h), 57c22fab9aSNipun Gupta [dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h), 58c667583dSTimothy McDaniel [crypto_scheduler] (@ref rte_cryptodev_scheduler.h), 59a05bd1b4SWei Huang [dlb2] (@ref rte_pmd_dlb2.h), 60a05bd1b4SWei Huang [ifpga] (@ref rte_pmd_ifpga.h) 616b919b0fSThomas Monjalon 626b919b0fSThomas Monjalon- **memory**: 636b919b0fSThomas Monjalon [memseg] (@ref rte_memory.h), 646b919b0fSThomas Monjalon [memzone] (@ref rte_memzone.h), 656b919b0fSThomas Monjalon [mempool] (@ref rte_mempool.h), 666b919b0fSThomas Monjalon [malloc] (@ref rte_malloc.h), 676b919b0fSThomas Monjalon [memcpy] (@ref rte_memcpy.h) 686b919b0fSThomas Monjalon 696b919b0fSThomas Monjalon- **timers**: 706b919b0fSThomas Monjalon [cycles] (@ref rte_cycles.h), 716b919b0fSThomas Monjalon [timer] (@ref rte_timer.h), 726b919b0fSThomas Monjalon [alarm] (@ref rte_alarm.h) 736b919b0fSThomas Monjalon 746b919b0fSThomas Monjalon- **locks**: 756b919b0fSThomas Monjalon [atomic] (@ref rte_atomic.h), 762173f333SPhil Yang [mcslock] (@ref rte_mcslock.h), 779667d97cSStephen Hemminger [pflock] (@ref rte_pflock.h), 786b919b0fSThomas Monjalon [rwlock] (@ref rte_rwlock.h), 7964994b56SHonnappa Nagarahalli [spinlock] (@ref rte_spinlock.h), 8064994b56SHonnappa Nagarahalli [ticketlock] (@ref rte_ticketlock.h), 8164994b56SHonnappa Nagarahalli [RCU] (@ref rte_rcu_qsbr.h) 826b919b0fSThomas Monjalon 836b919b0fSThomas Monjalon- **CPU arch**: 846b919b0fSThomas Monjalon [branch prediction] (@ref rte_branch_prediction.h), 856b919b0fSThomas Monjalon [cache prefetch] (@ref rte_prefetch.h), 8686c743cfSNelio Laranjeiro [SIMD] (@ref rte_vect.h), 876b919b0fSThomas Monjalon [byte order] (@ref rte_byteorder.h), 8869736db1SJerin Jacob [CPU flags] (@ref rte_cpuflags.h), 89841e7ae5SJerin Jacob [CPU pause] (@ref rte_pause.h), 90cb217305SAnatoly Burakov [I/O access] (@ref rte_io.h), 91cb217305SAnatoly Burakov [power management] (@ref rte_power_intrinsics.h) 926b919b0fSThomas Monjalon 936b919b0fSThomas Monjalon- **CPU multicore**: 946b919b0fSThomas Monjalon [interrupts] (@ref rte_interrupts.h), 956b919b0fSThomas Monjalon [launch] (@ref rte_launch.h), 966b919b0fSThomas Monjalon [lcore] (@ref rte_lcore.h), 976b919b0fSThomas Monjalon [per-lcore] (@ref rte_per_lcore.h), 9821698354SHarry van Haaren [service cores] (@ref rte_service.h), 995c8baff8SThomas Monjalon [keepalive] (@ref rte_keepalive.h), 100cb217305SAnatoly Burakov [power/freq] (@ref rte_power.h), 101cb217305SAnatoly Burakov [PMD power] (@ref rte_power_pmd_mgmt.h) 1026b919b0fSThomas Monjalon 1036b919b0fSThomas Monjalon- **layers**: 1046b919b0fSThomas Monjalon [ethernet] (@ref rte_ether.h), 1052b3f27eeSThomas Monjalon [ARP] (@ref rte_arp.h), 10601b3156dSKiran Kumar K [HIGIG] (@ref rte_higig.h), 1072b3f27eeSThomas Monjalon [ICMP] (@ref rte_icmp.h), 108d4b684f7SBoris Pismenny [ESP] (@ref rte_esp.h), 1093a97a35bSVladimir Medvedkin [IPsec] (@ref rte_ipsec.h), 1103a97a35bSVladimir Medvedkin [IPsec group] (@ref rte_ipsec_group.h), 1113a97a35bSVladimir Medvedkin [IPsec SA] (@ref rte_ipsec_sa.h), 1123a97a35bSVladimir Medvedkin [IPsec SAD] (@ref rte_ipsec_sad.h), 1136b919b0fSThomas Monjalon [IP] (@ref rte_ip.h), 11444d00a1dSOlivier Matz [frag/reass] (@ref rte_ip_frag.h), 1156b919b0fSThomas Monjalon [SCTP] (@ref rte_sctp.h), 1166b919b0fSThomas Monjalon [TCP] (@ref rte_tcp.h), 1176b919b0fSThomas Monjalon [UDP] (@ref rte_udp.h), 118d8e5e69fSTing Xu [GTP] (@ref rte_gtp.h), 119e996506aSJiayu Hu [GRO] (@ref rte_gro.h), 120ec51443cSJiayu Hu [GSO] (@ref rte_gso.h), 12144d00a1dSOlivier Matz [GRE] (@ref rte_gre.h), 12244d00a1dSOlivier Matz [MPLS] (@ref rte_mpls.h), 12344d00a1dSOlivier Matz [VXLAN] (@ref rte_vxlan.h), 12444d00a1dSOlivier Matz [Geneve] (@ref rte_geneve.h), 1253a929df1SJie Wang [eCPRI] (@ref rte_ecpri.h), 1263a929df1SJie Wang [L2TPv2] (@ref rte_l2tpv2.h), 1273a929df1SJie Wang [PPP] (@ref rte_ppp.h) 1286b919b0fSThomas Monjalon 1296b919b0fSThomas Monjalon- **QoS**: 1306b919b0fSThomas Monjalon [metering] (@ref rte_meter.h), 1316b919b0fSThomas Monjalon [scheduler] (@ref rte_sched.h), 1326b919b0fSThomas Monjalon [RED congestion] (@ref rte_red.h) 1336b919b0fSThomas Monjalon 1340b459fa0SVladimir Medvedkin- **routing**: 1350b459fa0SVladimir Medvedkin [LPM IPv4 route] (@ref rte_lpm.h), 1360b459fa0SVladimir Medvedkin [LPM IPv6 route] (@ref rte_lpm6.h), 1370b459fa0SVladimir Medvedkin [RIB IPv4] (@ref rte_rib.h), 1380b459fa0SVladimir Medvedkin [RIB IPv6] (@ref rte_rib6.h), 1390b459fa0SVladimir Medvedkin [FIB IPv4] (@ref rte_fib.h), 1400b459fa0SVladimir Medvedkin [FIB IPv6] (@ref rte_fib6.h) 1410b459fa0SVladimir Medvedkin 1426b919b0fSThomas Monjalon- **hashes**: 1436b919b0fSThomas Monjalon [hash] (@ref rte_hash.h), 1446b919b0fSThomas Monjalon [jhash] (@ref rte_jhash.h), 1452b3f27eeSThomas Monjalon [thash] (@ref rte_thash.h), 1464fd8c4cbSVladimir Medvedkin [thash_gfni] (@ref rte_thash_gfni.h), 1476b919b0fSThomas Monjalon [FBK hash] (@ref rte_fbk_hash.h), 148a266b313SThomas Monjalon [CRC hash] (@ref rte_hash_crc.h) 149e8009a07SThomas Monjalon 150e8009a07SThomas Monjalon- **classification** 151e8009a07SThomas Monjalon [reorder] (@ref rte_reorder.h), 152e8009a07SThomas Monjalon [distributor] (@ref rte_distributor.h), 153e8009a07SThomas Monjalon [EFD] (@ref rte_efd.h), 154e8009a07SThomas Monjalon [ACL] (@ref rte_acl.h), 155be41ac2aSFerruh Yigit [member] (@ref rte_member.h), 15694972f35SKonstantin Ananyev [flow classify] (@ref rte_flow_classify.h), 15794972f35SKonstantin Ananyev [BPF] (@ref rte_bpf.h) 1586b919b0fSThomas Monjalon 1596b919b0fSThomas Monjalon- **containers**: 1606b919b0fSThomas Monjalon [mbuf] (@ref rte_mbuf.h), 161a3acc314SHemant Agrawal [mbuf pool ops] (@ref rte_mbuf_pool_ops.h), 1626b919b0fSThomas Monjalon [ring] (@ref rte_ring.h), 16305d3b528SGage Eads [stack] (@ref rte_stack.h), 1646b919b0fSThomas Monjalon [tailq] (@ref rte_tailq.h), 165a266b313SThomas Monjalon [bitmap] (@ref rte_bitmap.h) 1666b919b0fSThomas Monjalon 1676b919b0fSThomas Monjalon- **packet framework**: 1686b919b0fSThomas Monjalon * [port] (@ref rte_port.h): 1696b919b0fSThomas Monjalon [ethdev] (@ref rte_port_ethdev.h), 1706b919b0fSThomas Monjalon [ring] (@ref rte_port_ring.h), 1716b919b0fSThomas Monjalon [frag] (@ref rte_port_frag.h), 1726b919b0fSThomas Monjalon [reass] (@ref rte_port_ras.h), 1736b919b0fSThomas Monjalon [sched] (@ref rte_port_sched.h), 1749fc37d1cSWeiJie Zhuang [kni] (@ref rte_port_kni.h), 1756b919b0fSThomas Monjalon [src/sink] (@ref rte_port_source_sink.h) 1766b919b0fSThomas Monjalon * [table] (@ref rte_table.h): 1776b919b0fSThomas Monjalon [lpm IPv4] (@ref rte_table_lpm.h), 1786b919b0fSThomas Monjalon [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 1796b919b0fSThomas Monjalon [ACL] (@ref rte_table_acl.h), 1806b919b0fSThomas Monjalon [hash] (@ref rte_table_hash.h), 1816b919b0fSThomas Monjalon [array] (@ref rte_table_array.h), 1826b919b0fSThomas Monjalon [stub] (@ref rte_table_stub.h) 1836b919b0fSThomas Monjalon * [pipeline] (@ref rte_pipeline.h) 184f0e352ddSJasvinder Singh [port_in_action] (@ref rte_port_in_action.h) 185654dd411SJasvinder Singh [table_action] (@ref rte_table_action.h) 18656492fd5SCristian Dumitrescu * SWX pipeline: 187e9d870ddSCristian Dumitrescu [control] (@ref rte_swx_ctl.h), 1881e4c88caSCristian Dumitrescu [extern] (@ref rte_swx_extern.h), 18956492fd5SCristian Dumitrescu [pipeline] (@ref rte_swx_pipeline.h) 1906e0ca01cSCristian Dumitrescu * SWX port: 191ecc5f433SCristian Dumitrescu [port] (@ref rte_swx_port.h), 192394813ebSCristian Dumitrescu [ethdev] (@ref rte_swx_port_ethdev.h), 193e2b8dc52SVenkata Suresh Kumar P [fd] (@ref rte_swx_port_fd.h), 19477a41301SCristian Dumitrescu [ring] (@ref rte_swx_port_ring.h), 195394813ebSCristian Dumitrescu [src/sink] (@ref rte_swx_port_source_sink.h) 196e9d870ddSCristian Dumitrescu * SWX table: 197d0a00966SCristian Dumitrescu [table] (@ref rte_swx_table.h), 198d0a00966SCristian Dumitrescu [table_em] (@ref rte_swx_table_em.h) 19966440b7bSCristian Dumitrescu [table_wm] (@ref rte_swx_table_wm.h) 200a2da7427SJerin Jacob * [graph] (@ref rte_graph.h): 20140d4f514SJerin Jacob [graph_worker] (@ref rte_graph_worker.h) 202947d7f68SNithin Dabilpuram * graph_nodes: 203947d7f68SNithin Dabilpuram [eth_node] (@ref rte_node_eth_api.h), 2040555f11cSPavan Nikhilesh [ip4_node] (@ref rte_node_ip4_api.h) 2056b919b0fSThomas Monjalon 2066b919b0fSThomas Monjalon- **basic**: 2077f3aa086SJoyce Kong [bitops] (@ref rte_bitops.h), 2086b919b0fSThomas Monjalon [approx fraction] (@ref rte_approx.h), 2096b919b0fSThomas Monjalon [random] (@ref rte_random.h), 2102b3f27eeSThomas Monjalon [config file] (@ref rte_cfgfile.h), 2116b919b0fSThomas Monjalon [key/value args] (@ref rte_kvargs.h), 2126b919b0fSThomas Monjalon [string] (@ref rte_string_fns.h) 2136b919b0fSThomas Monjalon 2146b919b0fSThomas Monjalon- **debug**: 2152b3f27eeSThomas Monjalon [jobstats] (@ref rte_jobstats.h), 2168877ac68SCiara Power [telemetry] (@ref rte_telemetry.h), 2178d23ce8fSStephen Hemminger [pcapng] (@ref rte_pcapng.h), 2186d059e99SReshma Pattan [pdump] (@ref rte_pdump.h), 2192b3f27eeSThomas Monjalon [hexdump] (@ref rte_hexdump.h), 2206b919b0fSThomas Monjalon [debug] (@ref rte_debug.h), 2216b919b0fSThomas Monjalon [log] (@ref rte_log.h), 22227db82c7SJerin Jacob [errno] (@ref rte_errno.h), 22327db82c7SJerin Jacob [trace] (@ref rte_trace.h), 22427db82c7SJerin Jacob [trace_point] (@ref rte_trace_point.h) 2256b919b0fSThomas Monjalon 2266b919b0fSThomas Monjalon- **misc**: 2276b919b0fSThomas Monjalon [EAL config] (@ref rte_eal.h), 2286b919b0fSThomas Monjalon [common] (@ref rte_common.h), 229dc61aa74SBruce Richardson [experimental APIs] (@ref rte_compat.h), 230dc61aa74SBruce Richardson [ABI versioning] (@ref rte_function_versioning.h), 2316b919b0fSThomas Monjalon [version] (@ref rte_version.h) 232