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), 2471f23843SJerin Jacob [eventdev] (@ref rte_eventdev.h), 25dcc806c2SNikhil Rao [event_eth_rx_adapter] (@ref rte_event_eth_rx_adapter.h), 26c9bf8394SNikhil Rao [event_eth_tx_adapter] (@ref rte_event_eth_tx_adapter.h), 27a6562f6dSErik Gabriel Carrillo [event_timer_adapter] (@ref rte_event_timer_adapter.h), 28dbe869baSAbhinandan Gujjar [event_crypto_adapter] (@ref rte_event_crypto_adapter.h), 29a9bb0c44SShreyansh Jain [rawdev] (@ref rte_rawdev.h), 30bb79058fSThomas Monjalon [metrics] (@ref rte_metrics.h), 31bb79058fSThomas Monjalon [bitrate] (@ref rte_bitrate.h), 32bb79058fSThomas Monjalon [latency] (@ref rte_latencystats.h), 336b919b0fSThomas Monjalon [devargs] (@ref rte_devargs.h), 34c94eb6dbSHemant Agrawal [PCI] (@ref rte_pci.h), 3542490f38SAideen McLoughlin [vdev] (@ref rte_bus_vdev.h), 36c94eb6dbSHemant Agrawal [vfio] (@ref rte_vfio.h) 3726fb45a3SFerruh Yigit 3826fb45a3SFerruh Yigit- **device specific**: 39cc6d4215SJasvinder Singh [softnic] (@ref rte_eth_softnic.h), 406b919b0fSThomas Monjalon [bond] (@ref rte_eth_bond.h), 41a798beb4SYuanhan Liu [vhost] (@ref rte_vhost.h), 42d0d4887dSXiaolong Ye [vdpa] (@ref rte_vdpa.h), 436b919b0fSThomas Monjalon [KNI] (@ref rte_kni.h), 4426fb45a3SFerruh Yigit [ixgbe] (@ref rte_pmd_ixgbe.h), 45dc8bd2f6SFan Zhang [i40e] (@ref rte_pmd_i40e.h), 46328dc5baSHaiyue Wang [ice] (@ref rte_pmd_ice.h), 4712b435bfSJeff Guo [iavf] (@ref rte_pmd_iavf.h), 48b28a44fdSBruce Richardson [ioat] (@ref rte_ioat_rawdev.h), 497e9b4e58SFerruh Yigit [bnxt] (@ref rte_pmd_bnxt.h), 508c3495f5SHemant Agrawal [dpaa] (@ref rte_pmd_dpaa.h), 51c1870f65SAkhil Goyal [dpaa2] (@ref rte_pmd_dpaa2.h), 52a0dd7cc7SBing Zhao [mlx5] (@ref rte_pmd_mlx5.h), 537ed35990SNipun Gupta [dpaa2_mempool] (@ref rte_dpaa2_mempool.h), 5453c71586SNipun Gupta [dpaa2_cmdif] (@ref rte_pmd_dpaa2_cmdif.h), 55c22fab9aSNipun Gupta [dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h), 56c667583dSTimothy McDaniel [crypto_scheduler] (@ref rte_cryptodev_scheduler.h), 57a05bd1b4SWei Huang [dlb2] (@ref rte_pmd_dlb2.h), 58a05bd1b4SWei Huang [ifpga] (@ref rte_pmd_ifpga.h) 596b919b0fSThomas Monjalon 606b919b0fSThomas Monjalon- **memory**: 616b919b0fSThomas Monjalon [memseg] (@ref rte_memory.h), 626b919b0fSThomas Monjalon [memzone] (@ref rte_memzone.h), 636b919b0fSThomas Monjalon [mempool] (@ref rte_mempool.h), 646b919b0fSThomas Monjalon [malloc] (@ref rte_malloc.h), 656b919b0fSThomas Monjalon [memcpy] (@ref rte_memcpy.h) 666b919b0fSThomas Monjalon 676b919b0fSThomas Monjalon- **timers**: 686b919b0fSThomas Monjalon [cycles] (@ref rte_cycles.h), 696b919b0fSThomas Monjalon [timer] (@ref rte_timer.h), 706b919b0fSThomas Monjalon [alarm] (@ref rte_alarm.h) 716b919b0fSThomas Monjalon 726b919b0fSThomas Monjalon- **locks**: 736b919b0fSThomas Monjalon [atomic] (@ref rte_atomic.h), 742173f333SPhil Yang [mcslock] (@ref rte_mcslock.h), 75*9667d97cSStephen Hemminger [pflock] (@ref rte_pflock.h), 766b919b0fSThomas Monjalon [rwlock] (@ref rte_rwlock.h), 7764994b56SHonnappa Nagarahalli [spinlock] (@ref rte_spinlock.h), 7864994b56SHonnappa Nagarahalli [ticketlock] (@ref rte_ticketlock.h), 7964994b56SHonnappa Nagarahalli [RCU] (@ref rte_rcu_qsbr.h) 806b919b0fSThomas Monjalon 816b919b0fSThomas Monjalon- **CPU arch**: 826b919b0fSThomas Monjalon [branch prediction] (@ref rte_branch_prediction.h), 836b919b0fSThomas Monjalon [cache prefetch] (@ref rte_prefetch.h), 8486c743cfSNelio Laranjeiro [SIMD] (@ref rte_vect.h), 856b919b0fSThomas Monjalon [byte order] (@ref rte_byteorder.h), 8669736db1SJerin Jacob [CPU flags] (@ref rte_cpuflags.h), 87841e7ae5SJerin Jacob [CPU pause] (@ref rte_pause.h), 88cb217305SAnatoly Burakov [I/O access] (@ref rte_io.h), 89cb217305SAnatoly Burakov [power management] (@ref rte_power_intrinsics.h) 906b919b0fSThomas Monjalon 916b919b0fSThomas Monjalon- **CPU multicore**: 926b919b0fSThomas Monjalon [interrupts] (@ref rte_interrupts.h), 936b919b0fSThomas Monjalon [launch] (@ref rte_launch.h), 946b919b0fSThomas Monjalon [lcore] (@ref rte_lcore.h), 956b919b0fSThomas Monjalon [per-lcore] (@ref rte_per_lcore.h), 9621698354SHarry van Haaren [service cores] (@ref rte_service.h), 975c8baff8SThomas Monjalon [keepalive] (@ref rte_keepalive.h), 98cb217305SAnatoly Burakov [power/freq] (@ref rte_power.h), 99cb217305SAnatoly Burakov [PMD power] (@ref rte_power_pmd_mgmt.h) 1006b919b0fSThomas Monjalon 1016b919b0fSThomas Monjalon- **layers**: 1026b919b0fSThomas Monjalon [ethernet] (@ref rte_ether.h), 1032b3f27eeSThomas Monjalon [ARP] (@ref rte_arp.h), 10401b3156dSKiran Kumar K [HIGIG] (@ref rte_higig.h), 1052b3f27eeSThomas Monjalon [ICMP] (@ref rte_icmp.h), 106d4b684f7SBoris Pismenny [ESP] (@ref rte_esp.h), 1073a97a35bSVladimir Medvedkin [IPsec] (@ref rte_ipsec.h), 1083a97a35bSVladimir Medvedkin [IPsec group] (@ref rte_ipsec_group.h), 1093a97a35bSVladimir Medvedkin [IPsec SA] (@ref rte_ipsec_sa.h), 1103a97a35bSVladimir Medvedkin [IPsec SAD] (@ref rte_ipsec_sad.h), 1116b919b0fSThomas Monjalon [IP] (@ref rte_ip.h), 11244d00a1dSOlivier Matz [frag/reass] (@ref rte_ip_frag.h), 1136b919b0fSThomas Monjalon [SCTP] (@ref rte_sctp.h), 1146b919b0fSThomas Monjalon [TCP] (@ref rte_tcp.h), 1156b919b0fSThomas Monjalon [UDP] (@ref rte_udp.h), 116d8e5e69fSTing Xu [GTP] (@ref rte_gtp.h), 117e996506aSJiayu Hu [GRO] (@ref rte_gro.h), 118ec51443cSJiayu Hu [GSO] (@ref rte_gso.h), 11944d00a1dSOlivier Matz [GRE] (@ref rte_gre.h), 12044d00a1dSOlivier Matz [MPLS] (@ref rte_mpls.h), 12144d00a1dSOlivier Matz [VXLAN] (@ref rte_vxlan.h), 12244d00a1dSOlivier Matz [Geneve] (@ref rte_geneve.h), 12344d00a1dSOlivier Matz [eCPRI] (@ref rte_ecpri.h) 1246b919b0fSThomas Monjalon 1256b919b0fSThomas Monjalon- **QoS**: 1266b919b0fSThomas Monjalon [metering] (@ref rte_meter.h), 1276b919b0fSThomas Monjalon [scheduler] (@ref rte_sched.h), 1286b919b0fSThomas Monjalon [RED congestion] (@ref rte_red.h) 1296b919b0fSThomas Monjalon 1300b459fa0SVladimir Medvedkin- **routing**: 1310b459fa0SVladimir Medvedkin [LPM IPv4 route] (@ref rte_lpm.h), 1320b459fa0SVladimir Medvedkin [LPM IPv6 route] (@ref rte_lpm6.h), 1330b459fa0SVladimir Medvedkin [RIB IPv4] (@ref rte_rib.h), 1340b459fa0SVladimir Medvedkin [RIB IPv6] (@ref rte_rib6.h), 1350b459fa0SVladimir Medvedkin [FIB IPv4] (@ref rte_fib.h), 1360b459fa0SVladimir Medvedkin [FIB IPv6] (@ref rte_fib6.h) 1370b459fa0SVladimir Medvedkin 1386b919b0fSThomas Monjalon- **hashes**: 1396b919b0fSThomas Monjalon [hash] (@ref rte_hash.h), 1406b919b0fSThomas Monjalon [jhash] (@ref rte_jhash.h), 1412b3f27eeSThomas Monjalon [thash] (@ref rte_thash.h), 1426b919b0fSThomas Monjalon [FBK hash] (@ref rte_fbk_hash.h), 143a266b313SThomas Monjalon [CRC hash] (@ref rte_hash_crc.h) 144e8009a07SThomas Monjalon 145e8009a07SThomas Monjalon- **classification** 146e8009a07SThomas Monjalon [reorder] (@ref rte_reorder.h), 147e8009a07SThomas Monjalon [distributor] (@ref rte_distributor.h), 148e8009a07SThomas Monjalon [EFD] (@ref rte_efd.h), 149e8009a07SThomas Monjalon [ACL] (@ref rte_acl.h), 150be41ac2aSFerruh Yigit [member] (@ref rte_member.h), 15194972f35SKonstantin Ananyev [flow classify] (@ref rte_flow_classify.h), 15294972f35SKonstantin Ananyev [BPF] (@ref rte_bpf.h) 1536b919b0fSThomas Monjalon 1546b919b0fSThomas Monjalon- **containers**: 1556b919b0fSThomas Monjalon [mbuf] (@ref rte_mbuf.h), 156a3acc314SHemant Agrawal [mbuf pool ops] (@ref rte_mbuf_pool_ops.h), 1576b919b0fSThomas Monjalon [ring] (@ref rte_ring.h), 15805d3b528SGage Eads [stack] (@ref rte_stack.h), 1596b919b0fSThomas Monjalon [tailq] (@ref rte_tailq.h), 160a266b313SThomas Monjalon [bitmap] (@ref rte_bitmap.h) 1616b919b0fSThomas Monjalon 1626b919b0fSThomas Monjalon- **packet framework**: 1636b919b0fSThomas Monjalon * [port] (@ref rte_port.h): 1646b919b0fSThomas Monjalon [ethdev] (@ref rte_port_ethdev.h), 1656b919b0fSThomas Monjalon [ring] (@ref rte_port_ring.h), 1666b919b0fSThomas Monjalon [frag] (@ref rte_port_frag.h), 1676b919b0fSThomas Monjalon [reass] (@ref rte_port_ras.h), 1686b919b0fSThomas Monjalon [sched] (@ref rte_port_sched.h), 1699fc37d1cSWeiJie Zhuang [kni] (@ref rte_port_kni.h), 1706b919b0fSThomas Monjalon [src/sink] (@ref rte_port_source_sink.h) 1716b919b0fSThomas Monjalon * [table] (@ref rte_table.h): 1726b919b0fSThomas Monjalon [lpm IPv4] (@ref rte_table_lpm.h), 1736b919b0fSThomas Monjalon [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 1746b919b0fSThomas Monjalon [ACL] (@ref rte_table_acl.h), 1756b919b0fSThomas Monjalon [hash] (@ref rte_table_hash.h), 1766b919b0fSThomas Monjalon [array] (@ref rte_table_array.h), 1776b919b0fSThomas Monjalon [stub] (@ref rte_table_stub.h) 1786b919b0fSThomas Monjalon * [pipeline] (@ref rte_pipeline.h) 179f0e352ddSJasvinder Singh [port_in_action] (@ref rte_port_in_action.h) 180654dd411SJasvinder Singh [table_action] (@ref rte_table_action.h) 18156492fd5SCristian Dumitrescu * SWX pipeline: 182e9d870ddSCristian Dumitrescu [control] (@ref rte_swx_ctl.h), 1831e4c88caSCristian Dumitrescu [extern] (@ref rte_swx_extern.h), 18456492fd5SCristian Dumitrescu [pipeline] (@ref rte_swx_pipeline.h) 1856e0ca01cSCristian Dumitrescu * SWX port: 186ecc5f433SCristian Dumitrescu [port] (@ref rte_swx_port.h), 187394813ebSCristian Dumitrescu [ethdev] (@ref rte_swx_port_ethdev.h), 188e2b8dc52SVenkata Suresh Kumar P [fd] (@ref rte_swx_port_fd.h), 18977a41301SCristian Dumitrescu [ring] (@ref rte_swx_port_ring.h), 190394813ebSCristian Dumitrescu [src/sink] (@ref rte_swx_port_source_sink.h) 191e9d870ddSCristian Dumitrescu * SWX table: 192d0a00966SCristian Dumitrescu [table] (@ref rte_swx_table.h), 193d0a00966SCristian Dumitrescu [table_em] (@ref rte_swx_table_em.h) 19466440b7bSCristian Dumitrescu [table_wm] (@ref rte_swx_table_wm.h) 195a2da7427SJerin Jacob * [graph] (@ref rte_graph.h): 19640d4f514SJerin Jacob [graph_worker] (@ref rte_graph_worker.h) 197947d7f68SNithin Dabilpuram * graph_nodes: 198947d7f68SNithin Dabilpuram [eth_node] (@ref rte_node_eth_api.h), 1990555f11cSPavan Nikhilesh [ip4_node] (@ref rte_node_ip4_api.h) 2006b919b0fSThomas Monjalon 2016b919b0fSThomas Monjalon- **basic**: 2027f3aa086SJoyce Kong [bitops] (@ref rte_bitops.h), 2036b919b0fSThomas Monjalon [approx fraction] (@ref rte_approx.h), 2046b919b0fSThomas Monjalon [random] (@ref rte_random.h), 2052b3f27eeSThomas Monjalon [config file] (@ref rte_cfgfile.h), 2066b919b0fSThomas Monjalon [key/value args] (@ref rte_kvargs.h), 2076b919b0fSThomas Monjalon [string] (@ref rte_string_fns.h) 2086b919b0fSThomas Monjalon 2096b919b0fSThomas Monjalon- **debug**: 2102b3f27eeSThomas Monjalon [jobstats] (@ref rte_jobstats.h), 2118877ac68SCiara Power [telemetry] (@ref rte_telemetry.h), 2126d059e99SReshma Pattan [pdump] (@ref rte_pdump.h), 2132b3f27eeSThomas Monjalon [hexdump] (@ref rte_hexdump.h), 2146b919b0fSThomas Monjalon [debug] (@ref rte_debug.h), 2156b919b0fSThomas Monjalon [log] (@ref rte_log.h), 21627db82c7SJerin Jacob [errno] (@ref rte_errno.h), 21727db82c7SJerin Jacob [trace] (@ref rte_trace.h), 21827db82c7SJerin Jacob [trace_point] (@ref rte_trace_point.h) 2196b919b0fSThomas Monjalon 2206b919b0fSThomas Monjalon- **misc**: 2216b919b0fSThomas Monjalon [EAL config] (@ref rte_eal.h), 2226b919b0fSThomas Monjalon [common] (@ref rte_common.h), 223dc61aa74SBruce Richardson [experimental APIs] (@ref rte_compat.h), 224dc61aa74SBruce Richardson [ABI versioning] (@ref rte_function_versioning.h), 2256b919b0fSThomas Monjalon [version] (@ref rte_version.h) 226