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), 518c3495f5SHemant Agrawal [dpaa] (@ref rte_pmd_dpaa.h), 52c1870f65SAkhil Goyal [dpaa2] (@ref rte_pmd_dpaa2.h), 53a0dd7cc7SBing Zhao [mlx5] (@ref rte_pmd_mlx5.h), 547ed35990SNipun Gupta [dpaa2_mempool] (@ref rte_dpaa2_mempool.h), 5553c71586SNipun Gupta [dpaa2_cmdif] (@ref rte_pmd_dpaa2_cmdif.h), 56c22fab9aSNipun Gupta [dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h), 57c667583dSTimothy McDaniel [crypto_scheduler] (@ref rte_cryptodev_scheduler.h), 58a05bd1b4SWei Huang [dlb2] (@ref rte_pmd_dlb2.h), 59a05bd1b4SWei Huang [ifpga] (@ref rte_pmd_ifpga.h) 606b919b0fSThomas Monjalon 616b919b0fSThomas Monjalon- **memory**: 626b919b0fSThomas Monjalon [memseg] (@ref rte_memory.h), 636b919b0fSThomas Monjalon [memzone] (@ref rte_memzone.h), 646b919b0fSThomas Monjalon [mempool] (@ref rte_mempool.h), 656b919b0fSThomas Monjalon [malloc] (@ref rte_malloc.h), 666b919b0fSThomas Monjalon [memcpy] (@ref rte_memcpy.h) 676b919b0fSThomas Monjalon 686b919b0fSThomas Monjalon- **timers**: 696b919b0fSThomas Monjalon [cycles] (@ref rte_cycles.h), 706b919b0fSThomas Monjalon [timer] (@ref rte_timer.h), 716b919b0fSThomas Monjalon [alarm] (@ref rte_alarm.h) 726b919b0fSThomas Monjalon 736b919b0fSThomas Monjalon- **locks**: 746b919b0fSThomas Monjalon [atomic] (@ref rte_atomic.h), 752173f333SPhil Yang [mcslock] (@ref rte_mcslock.h), 769667d97cSStephen Hemminger [pflock] (@ref rte_pflock.h), 776b919b0fSThomas Monjalon [rwlock] (@ref rte_rwlock.h), 7864994b56SHonnappa Nagarahalli [spinlock] (@ref rte_spinlock.h), 7964994b56SHonnappa Nagarahalli [ticketlock] (@ref rte_ticketlock.h), 8064994b56SHonnappa Nagarahalli [RCU] (@ref rte_rcu_qsbr.h) 816b919b0fSThomas Monjalon 826b919b0fSThomas Monjalon- **CPU arch**: 836b919b0fSThomas Monjalon [branch prediction] (@ref rte_branch_prediction.h), 846b919b0fSThomas Monjalon [cache prefetch] (@ref rte_prefetch.h), 8586c743cfSNelio Laranjeiro [SIMD] (@ref rte_vect.h), 866b919b0fSThomas Monjalon [byte order] (@ref rte_byteorder.h), 8769736db1SJerin Jacob [CPU flags] (@ref rte_cpuflags.h), 88841e7ae5SJerin Jacob [CPU pause] (@ref rte_pause.h), 89cb217305SAnatoly Burakov [I/O access] (@ref rte_io.h), 90cb217305SAnatoly Burakov [power management] (@ref rte_power_intrinsics.h) 916b919b0fSThomas Monjalon 926b919b0fSThomas Monjalon- **CPU multicore**: 936b919b0fSThomas Monjalon [interrupts] (@ref rte_interrupts.h), 946b919b0fSThomas Monjalon [launch] (@ref rte_launch.h), 956b919b0fSThomas Monjalon [lcore] (@ref rte_lcore.h), 966b919b0fSThomas Monjalon [per-lcore] (@ref rte_per_lcore.h), 9721698354SHarry van Haaren [service cores] (@ref rte_service.h), 985c8baff8SThomas Monjalon [keepalive] (@ref rte_keepalive.h), 99cb217305SAnatoly Burakov [power/freq] (@ref rte_power.h), 100cb217305SAnatoly Burakov [PMD power] (@ref rte_power_pmd_mgmt.h) 1016b919b0fSThomas Monjalon 1026b919b0fSThomas Monjalon- **layers**: 1036b919b0fSThomas Monjalon [ethernet] (@ref rte_ether.h), 1042b3f27eeSThomas Monjalon [ARP] (@ref rte_arp.h), 10501b3156dSKiran Kumar K [HIGIG] (@ref rte_higig.h), 1062b3f27eeSThomas Monjalon [ICMP] (@ref rte_icmp.h), 107d4b684f7SBoris Pismenny [ESP] (@ref rte_esp.h), 1083a97a35bSVladimir Medvedkin [IPsec] (@ref rte_ipsec.h), 1093a97a35bSVladimir Medvedkin [IPsec group] (@ref rte_ipsec_group.h), 1103a97a35bSVladimir Medvedkin [IPsec SA] (@ref rte_ipsec_sa.h), 1113a97a35bSVladimir Medvedkin [IPsec SAD] (@ref rte_ipsec_sad.h), 1126b919b0fSThomas Monjalon [IP] (@ref rte_ip.h), 11344d00a1dSOlivier Matz [frag/reass] (@ref rte_ip_frag.h), 1146b919b0fSThomas Monjalon [SCTP] (@ref rte_sctp.h), 1156b919b0fSThomas Monjalon [TCP] (@ref rte_tcp.h), 1166b919b0fSThomas Monjalon [UDP] (@ref rte_udp.h), 117d8e5e69fSTing Xu [GTP] (@ref rte_gtp.h), 118e996506aSJiayu Hu [GRO] (@ref rte_gro.h), 119ec51443cSJiayu Hu [GSO] (@ref rte_gso.h), 12044d00a1dSOlivier Matz [GRE] (@ref rte_gre.h), 12144d00a1dSOlivier Matz [MPLS] (@ref rte_mpls.h), 12244d00a1dSOlivier Matz [VXLAN] (@ref rte_vxlan.h), 12344d00a1dSOlivier Matz [Geneve] (@ref rte_geneve.h), 124*3a929df1SJie Wang [eCPRI] (@ref rte_ecpri.h), 125*3a929df1SJie Wang [L2TPv2] (@ref rte_l2tpv2.h), 126*3a929df1SJie Wang [PPP] (@ref rte_ppp.h) 1276b919b0fSThomas Monjalon 1286b919b0fSThomas Monjalon- **QoS**: 1296b919b0fSThomas Monjalon [metering] (@ref rte_meter.h), 1306b919b0fSThomas Monjalon [scheduler] (@ref rte_sched.h), 1316b919b0fSThomas Monjalon [RED congestion] (@ref rte_red.h) 1326b919b0fSThomas Monjalon 1330b459fa0SVladimir Medvedkin- **routing**: 1340b459fa0SVladimir Medvedkin [LPM IPv4 route] (@ref rte_lpm.h), 1350b459fa0SVladimir Medvedkin [LPM IPv6 route] (@ref rte_lpm6.h), 1360b459fa0SVladimir Medvedkin [RIB IPv4] (@ref rte_rib.h), 1370b459fa0SVladimir Medvedkin [RIB IPv6] (@ref rte_rib6.h), 1380b459fa0SVladimir Medvedkin [FIB IPv4] (@ref rte_fib.h), 1390b459fa0SVladimir Medvedkin [FIB IPv6] (@ref rte_fib6.h) 1400b459fa0SVladimir Medvedkin 1416b919b0fSThomas Monjalon- **hashes**: 1426b919b0fSThomas Monjalon [hash] (@ref rte_hash.h), 1436b919b0fSThomas Monjalon [jhash] (@ref rte_jhash.h), 1442b3f27eeSThomas Monjalon [thash] (@ref rte_thash.h), 1456b919b0fSThomas Monjalon [FBK hash] (@ref rte_fbk_hash.h), 146a266b313SThomas Monjalon [CRC hash] (@ref rte_hash_crc.h) 147e8009a07SThomas Monjalon 148e8009a07SThomas Monjalon- **classification** 149e8009a07SThomas Monjalon [reorder] (@ref rte_reorder.h), 150e8009a07SThomas Monjalon [distributor] (@ref rte_distributor.h), 151e8009a07SThomas Monjalon [EFD] (@ref rte_efd.h), 152e8009a07SThomas Monjalon [ACL] (@ref rte_acl.h), 153be41ac2aSFerruh Yigit [member] (@ref rte_member.h), 15494972f35SKonstantin Ananyev [flow classify] (@ref rte_flow_classify.h), 15594972f35SKonstantin Ananyev [BPF] (@ref rte_bpf.h) 1566b919b0fSThomas Monjalon 1576b919b0fSThomas Monjalon- **containers**: 1586b919b0fSThomas Monjalon [mbuf] (@ref rte_mbuf.h), 159a3acc314SHemant Agrawal [mbuf pool ops] (@ref rte_mbuf_pool_ops.h), 1606b919b0fSThomas Monjalon [ring] (@ref rte_ring.h), 16105d3b528SGage Eads [stack] (@ref rte_stack.h), 1626b919b0fSThomas Monjalon [tailq] (@ref rte_tailq.h), 163a266b313SThomas Monjalon [bitmap] (@ref rte_bitmap.h) 1646b919b0fSThomas Monjalon 1656b919b0fSThomas Monjalon- **packet framework**: 1666b919b0fSThomas Monjalon * [port] (@ref rte_port.h): 1676b919b0fSThomas Monjalon [ethdev] (@ref rte_port_ethdev.h), 1686b919b0fSThomas Monjalon [ring] (@ref rte_port_ring.h), 1696b919b0fSThomas Monjalon [frag] (@ref rte_port_frag.h), 1706b919b0fSThomas Monjalon [reass] (@ref rte_port_ras.h), 1716b919b0fSThomas Monjalon [sched] (@ref rte_port_sched.h), 1729fc37d1cSWeiJie Zhuang [kni] (@ref rte_port_kni.h), 1736b919b0fSThomas Monjalon [src/sink] (@ref rte_port_source_sink.h) 1746b919b0fSThomas Monjalon * [table] (@ref rte_table.h): 1756b919b0fSThomas Monjalon [lpm IPv4] (@ref rte_table_lpm.h), 1766b919b0fSThomas Monjalon [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 1776b919b0fSThomas Monjalon [ACL] (@ref rte_table_acl.h), 1786b919b0fSThomas Monjalon [hash] (@ref rte_table_hash.h), 1796b919b0fSThomas Monjalon [array] (@ref rte_table_array.h), 1806b919b0fSThomas Monjalon [stub] (@ref rte_table_stub.h) 1816b919b0fSThomas Monjalon * [pipeline] (@ref rte_pipeline.h) 182f0e352ddSJasvinder Singh [port_in_action] (@ref rte_port_in_action.h) 183654dd411SJasvinder Singh [table_action] (@ref rte_table_action.h) 18456492fd5SCristian Dumitrescu * SWX pipeline: 185e9d870ddSCristian Dumitrescu [control] (@ref rte_swx_ctl.h), 1861e4c88caSCristian Dumitrescu [extern] (@ref rte_swx_extern.h), 18756492fd5SCristian Dumitrescu [pipeline] (@ref rte_swx_pipeline.h) 1886e0ca01cSCristian Dumitrescu * SWX port: 189ecc5f433SCristian Dumitrescu [port] (@ref rte_swx_port.h), 190394813ebSCristian Dumitrescu [ethdev] (@ref rte_swx_port_ethdev.h), 191e2b8dc52SVenkata Suresh Kumar P [fd] (@ref rte_swx_port_fd.h), 19277a41301SCristian Dumitrescu [ring] (@ref rte_swx_port_ring.h), 193394813ebSCristian Dumitrescu [src/sink] (@ref rte_swx_port_source_sink.h) 194e9d870ddSCristian Dumitrescu * SWX table: 195d0a00966SCristian Dumitrescu [table] (@ref rte_swx_table.h), 196d0a00966SCristian Dumitrescu [table_em] (@ref rte_swx_table_em.h) 19766440b7bSCristian Dumitrescu [table_wm] (@ref rte_swx_table_wm.h) 198a2da7427SJerin Jacob * [graph] (@ref rte_graph.h): 19940d4f514SJerin Jacob [graph_worker] (@ref rte_graph_worker.h) 200947d7f68SNithin Dabilpuram * graph_nodes: 201947d7f68SNithin Dabilpuram [eth_node] (@ref rte_node_eth_api.h), 2020555f11cSPavan Nikhilesh [ip4_node] (@ref rte_node_ip4_api.h) 2036b919b0fSThomas Monjalon 2046b919b0fSThomas Monjalon- **basic**: 2057f3aa086SJoyce Kong [bitops] (@ref rte_bitops.h), 2066b919b0fSThomas Monjalon [approx fraction] (@ref rte_approx.h), 2076b919b0fSThomas Monjalon [random] (@ref rte_random.h), 2082b3f27eeSThomas Monjalon [config file] (@ref rte_cfgfile.h), 2096b919b0fSThomas Monjalon [key/value args] (@ref rte_kvargs.h), 2106b919b0fSThomas Monjalon [string] (@ref rte_string_fns.h) 2116b919b0fSThomas Monjalon 2126b919b0fSThomas Monjalon- **debug**: 2132b3f27eeSThomas Monjalon [jobstats] (@ref rte_jobstats.h), 2148877ac68SCiara Power [telemetry] (@ref rte_telemetry.h), 2158d23ce8fSStephen Hemminger [pcapng] (@ref rte_pcapng.h), 2166d059e99SReshma Pattan [pdump] (@ref rte_pdump.h), 2172b3f27eeSThomas Monjalon [hexdump] (@ref rte_hexdump.h), 2186b919b0fSThomas Monjalon [debug] (@ref rte_debug.h), 2196b919b0fSThomas Monjalon [log] (@ref rte_log.h), 22027db82c7SJerin Jacob [errno] (@ref rte_errno.h), 22127db82c7SJerin Jacob [trace] (@ref rte_trace.h), 22227db82c7SJerin Jacob [trace_point] (@ref rte_trace_point.h) 2236b919b0fSThomas Monjalon 2246b919b0fSThomas Monjalon- **misc**: 2256b919b0fSThomas Monjalon [EAL config] (@ref rte_eal.h), 2266b919b0fSThomas Monjalon [common] (@ref rte_common.h), 227dc61aa74SBruce Richardson [experimental APIs] (@ref rte_compat.h), 228dc61aa74SBruce Richardson [ABI versioning] (@ref rte_function_versioning.h), 2296b919b0fSThomas Monjalon [version] (@ref rte_version.h) 230