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), 4712b435bfSJeff Guo [iavf](@ref rte_pmd_iavf.h), 487e9b4e58SFerruh Yigit [bnxt](@ref rte_pmd_bnxt.h), 498efa348eSKiran Kumar K [cnxk](@ref rte_pmd_cnxk.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), 5597f9032fSNipun 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), 759667d97cSStephen Hemminger [pflock](@ref rte_pflock.h), 766b919b0fSThomas Monjalon [rwlock](@ref rte_rwlock.h), 770bee0709SMattias Rönnblom [seqcount](@ref rte_seqcount.h), 780bee0709SMattias Rönnblom [seqlock](@ref rte_seqlock.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), 10532ae9939SAkhil Goyal [MACsec](@ref rte_macsec.h), 1062b3f27eeSThomas Monjalon [ARP](@ref rte_arp.h), 10701b3156dSKiran Kumar K [HIGIG](@ref rte_higig.h), 1082b3f27eeSThomas Monjalon [ICMP](@ref rte_icmp.h), 109d4b684f7SBoris Pismenny [ESP](@ref rte_esp.h), 1103a97a35bSVladimir Medvedkin [IPsec](@ref rte_ipsec.h), 1113a97a35bSVladimir Medvedkin [IPsec group](@ref rte_ipsec_group.h), 1123a97a35bSVladimir Medvedkin [IPsec SA](@ref rte_ipsec_sa.h), 1133a97a35bSVladimir Medvedkin [IPsec SAD](@ref rte_ipsec_sad.h), 1146b919b0fSThomas Monjalon [IP](@ref rte_ip.h), 11544d00a1dSOlivier Matz [frag/reass](@ref rte_ip_frag.h), 1166b919b0fSThomas Monjalon [SCTP](@ref rte_sctp.h), 1176b919b0fSThomas Monjalon [TCP](@ref rte_tcp.h), 1186b919b0fSThomas Monjalon [UDP](@ref rte_udp.h), 119d8e5e69fSTing Xu [GTP](@ref rte_gtp.h), 120e996506aSJiayu Hu [GRO](@ref rte_gro.h), 121ec51443cSJiayu Hu [GSO](@ref rte_gso.h), 12244d00a1dSOlivier Matz [GRE](@ref rte_gre.h), 12344d00a1dSOlivier Matz [MPLS](@ref rte_mpls.h), 12444d00a1dSOlivier Matz [VXLAN](@ref rte_vxlan.h), 12544d00a1dSOlivier Matz [Geneve](@ref rte_geneve.h), 1263a929df1SJie Wang [eCPRI](@ref rte_ecpri.h), 1273a929df1SJie Wang [L2TPv2](@ref rte_l2tpv2.h), 1283a929df1SJie Wang [PPP](@ref rte_ppp.h) 1296b919b0fSThomas Monjalon 1306b919b0fSThomas Monjalon- **QoS**: 1316b919b0fSThomas Monjalon [metering](@ref rte_meter.h), 1326b919b0fSThomas Monjalon [scheduler](@ref rte_sched.h), 1336b919b0fSThomas Monjalon [RED congestion](@ref rte_red.h) 1346b919b0fSThomas Monjalon 1350b459fa0SVladimir Medvedkin- **routing**: 1360b459fa0SVladimir Medvedkin [LPM IPv4 route](@ref rte_lpm.h), 1370b459fa0SVladimir Medvedkin [LPM IPv6 route](@ref rte_lpm6.h), 1380b459fa0SVladimir Medvedkin [RIB IPv4](@ref rte_rib.h), 1390b459fa0SVladimir Medvedkin [RIB IPv6](@ref rte_rib6.h), 1400b459fa0SVladimir Medvedkin [FIB IPv4](@ref rte_fib.h), 1410b459fa0SVladimir Medvedkin [FIB IPv6](@ref rte_fib6.h) 1420b459fa0SVladimir Medvedkin 1436b919b0fSThomas Monjalon- **hashes**: 1446b919b0fSThomas Monjalon [hash](@ref rte_hash.h), 1456b919b0fSThomas Monjalon [jhash](@ref rte_jhash.h), 1462b3f27eeSThomas Monjalon [thash](@ref rte_thash.h), 1474fd8c4cbSVladimir Medvedkin [thash_gfni](@ref rte_thash_gfni.h), 1486b919b0fSThomas Monjalon [FBK hash](@ref rte_fbk_hash.h), 149a266b313SThomas Monjalon [CRC hash](@ref rte_hash_crc.h) 150e8009a07SThomas Monjalon 151e8009a07SThomas Monjalon- **classification** 152e8009a07SThomas Monjalon [reorder](@ref rte_reorder.h), 153e8009a07SThomas Monjalon [distributor](@ref rte_distributor.h), 154e8009a07SThomas Monjalon [EFD](@ref rte_efd.h), 155e8009a07SThomas Monjalon [ACL](@ref rte_acl.h), 156be41ac2aSFerruh Yigit [member](@ref rte_member.h), 15794972f35SKonstantin Ananyev [flow classify](@ref rte_flow_classify.h), 15894972f35SKonstantin Ananyev [BPF](@ref rte_bpf.h) 1596b919b0fSThomas Monjalon 1606b919b0fSThomas Monjalon- **containers**: 1616b919b0fSThomas Monjalon [mbuf](@ref rte_mbuf.h), 162a3acc314SHemant Agrawal [mbuf pool ops](@ref rte_mbuf_pool_ops.h), 1636b919b0fSThomas Monjalon [ring](@ref rte_ring.h), 16405d3b528SGage Eads [stack](@ref rte_stack.h), 1656b919b0fSThomas Monjalon [tailq](@ref rte_tailq.h), 166a266b313SThomas Monjalon [bitmap](@ref rte_bitmap.h) 1676b919b0fSThomas Monjalon 1686b919b0fSThomas Monjalon- **packet framework**: 1696b919b0fSThomas Monjalon * [port](@ref rte_port.h): 1706b919b0fSThomas Monjalon [ethdev](@ref rte_port_ethdev.h), 1716b919b0fSThomas Monjalon [ring](@ref rte_port_ring.h), 1726b919b0fSThomas Monjalon [frag](@ref rte_port_frag.h), 1736b919b0fSThomas Monjalon [reass](@ref rte_port_ras.h), 1746b919b0fSThomas Monjalon [sched](@ref rte_port_sched.h), 1759fc37d1cSWeiJie Zhuang [kni](@ref rte_port_kni.h), 1766b919b0fSThomas Monjalon [src/sink](@ref rte_port_source_sink.h) 1776b919b0fSThomas Monjalon * [table](@ref rte_table.h): 1786b919b0fSThomas Monjalon [lpm IPv4](@ref rte_table_lpm.h), 1796b919b0fSThomas Monjalon [lpm IPv6](@ref rte_table_lpm_ipv6.h), 1806b919b0fSThomas Monjalon [ACL](@ref rte_table_acl.h), 1816b919b0fSThomas Monjalon [hash](@ref rte_table_hash.h), 1826b919b0fSThomas Monjalon [array](@ref rte_table_array.h), 1836b919b0fSThomas Monjalon [stub](@ref rte_table_stub.h) 1846b919b0fSThomas Monjalon * [pipeline](@ref rte_pipeline.h) 185f0e352ddSJasvinder Singh [port_in_action](@ref rte_port_in_action.h) 186654dd411SJasvinder Singh [table_action](@ref rte_table_action.h) 18756492fd5SCristian Dumitrescu * SWX pipeline: 188e9d870ddSCristian Dumitrescu [control](@ref rte_swx_ctl.h), 1891e4c88caSCristian Dumitrescu [extern](@ref rte_swx_extern.h), 19056492fd5SCristian Dumitrescu [pipeline](@ref rte_swx_pipeline.h) 1916e0ca01cSCristian Dumitrescu * SWX port: 192ecc5f433SCristian Dumitrescu [port](@ref rte_swx_port.h), 193394813ebSCristian Dumitrescu [ethdev](@ref rte_swx_port_ethdev.h), 194e2b8dc52SVenkata Suresh Kumar P [fd](@ref rte_swx_port_fd.h), 19577a41301SCristian Dumitrescu [ring](@ref rte_swx_port_ring.h), 196394813ebSCristian Dumitrescu [src/sink](@ref rte_swx_port_source_sink.h) 197e9d870ddSCristian Dumitrescu * SWX table: 198d0a00966SCristian Dumitrescu [table](@ref rte_swx_table.h), 199d0a00966SCristian Dumitrescu [table_em](@ref rte_swx_table_em.h) 20066440b7bSCristian Dumitrescu [table_wm](@ref rte_swx_table_wm.h) 201a2da7427SJerin Jacob * [graph](@ref rte_graph.h): 20240d4f514SJerin Jacob [graph_worker](@ref rte_graph_worker.h) 203947d7f68SNithin Dabilpuram * graph_nodes: 204947d7f68SNithin Dabilpuram [eth_node](@ref rte_node_eth_api.h), 2050555f11cSPavan Nikhilesh [ip4_node](@ref rte_node_ip4_api.h) 2066b919b0fSThomas Monjalon 2076b919b0fSThomas Monjalon- **basic**: 2087f3aa086SJoyce Kong [bitops](@ref rte_bitops.h), 2096b919b0fSThomas Monjalon [approx fraction](@ref rte_approx.h), 2106b919b0fSThomas Monjalon [random](@ref rte_random.h), 2112b3f27eeSThomas Monjalon [config file](@ref rte_cfgfile.h), 2126b919b0fSThomas Monjalon [key/value args](@ref rte_kvargs.h), 213*8fa2da94STyler Retzlaff [string](@ref rte_string_fns.h), 214*8fa2da94STyler Retzlaff [thread](@ref rte_thread.h) 2156b919b0fSThomas Monjalon 2166b919b0fSThomas Monjalon- **debug**: 2172b3f27eeSThomas Monjalon [jobstats](@ref rte_jobstats.h), 2188877ac68SCiara Power [telemetry](@ref rte_telemetry.h), 2198d23ce8fSStephen Hemminger [pcapng](@ref rte_pcapng.h), 2206d059e99SReshma Pattan [pdump](@ref rte_pdump.h), 2212b3f27eeSThomas Monjalon [hexdump](@ref rte_hexdump.h), 2226b919b0fSThomas Monjalon [debug](@ref rte_debug.h), 2236b919b0fSThomas Monjalon [log](@ref rte_log.h), 22427db82c7SJerin Jacob [errno](@ref rte_errno.h), 22527db82c7SJerin Jacob [trace](@ref rte_trace.h), 22627db82c7SJerin Jacob [trace_point](@ref rte_trace_point.h) 2276b919b0fSThomas Monjalon 2286b919b0fSThomas Monjalon- **misc**: 2296b919b0fSThomas Monjalon [EAL config](@ref rte_eal.h), 2306b919b0fSThomas Monjalon [common](@ref rte_common.h), 231dc61aa74SBruce Richardson [experimental APIs](@ref rte_compat.h), 232dc61aa74SBruce Richardson [ABI versioning](@ref rte_function_versioning.h), 2336b919b0fSThomas Monjalon [version](@ref rte_version.h) 234