1API 2=== 3 4<!-- 5 SPDX-License-Identifier: BSD-3-Clause 6 Copyright(c) 2013-2017 6WIND S.A. 7--> 8 9The public API headers are grouped by topics: 10 11- **device**: 12 [dev](@ref rte_dev.h), 13 [ethdev](@ref rte_ethdev.h), 14 [ethctrl](@ref rte_eth_ctrl.h), 15 [rte_flow](@ref rte_flow.h), 16 [rte_tm](@ref rte_tm.h), 17 [rte_mtr](@ref rte_mtr.h), 18 [bbdev](@ref rte_bbdev.h), 19 [cryptodev](@ref rte_cryptodev.h), 20 [security](@ref rte_security.h), 21 [compressdev](@ref rte_compressdev.h), 22 [compress](@ref rte_comp.h), 23 [regexdev](@ref rte_regexdev.h), 24 [dmadev](@ref rte_dmadev.h), 25 [eventdev](@ref rte_eventdev.h), 26 [event_eth_rx_adapter](@ref rte_event_eth_rx_adapter.h), 27 [event_eth_tx_adapter](@ref rte_event_eth_tx_adapter.h), 28 [event_timer_adapter](@ref rte_event_timer_adapter.h), 29 [event_crypto_adapter](@ref rte_event_crypto_adapter.h), 30 [rawdev](@ref rte_rawdev.h), 31 [metrics](@ref rte_metrics.h), 32 [bitrate](@ref rte_bitrate.h), 33 [latency](@ref rte_latencystats.h), 34 [devargs](@ref rte_devargs.h), 35 [PCI](@ref rte_pci.h), 36 [vdev](@ref rte_bus_vdev.h), 37 [vfio](@ref rte_vfio.h) 38 39- **device specific**: 40 [softnic](@ref rte_eth_softnic.h), 41 [bond](@ref rte_eth_bond.h), 42 [vhost](@ref rte_vhost.h), 43 [vdpa](@ref rte_vdpa.h), 44 [KNI](@ref rte_kni.h), 45 [ixgbe](@ref rte_pmd_ixgbe.h), 46 [i40e](@ref rte_pmd_i40e.h), 47 [ice](@ref rte_pmd_ice.h), 48 [iavf](@ref rte_pmd_iavf.h), 49 [ioat](@ref rte_ioat_rawdev.h), 50 [bnxt](@ref rte_pmd_bnxt.h), 51 [cnxk](@ref rte_pmd_cnxk.h), 52 [dpaa](@ref rte_pmd_dpaa.h), 53 [dpaa2](@ref rte_pmd_dpaa2.h), 54 [mlx5](@ref rte_pmd_mlx5.h), 55 [dpaa2_mempool](@ref rte_dpaa2_mempool.h), 56 [dpaa2_cmdif](@ref rte_pmd_dpaa2_cmdif.h), 57 [dpaa2_qdma](@ref rte_pmd_dpaa2_qdma.h), 58 [crypto_scheduler](@ref rte_cryptodev_scheduler.h), 59 [dlb2](@ref rte_pmd_dlb2.h), 60 [ifpga](@ref rte_pmd_ifpga.h) 61 62- **memory**: 63 [memseg](@ref rte_memory.h), 64 [memzone](@ref rte_memzone.h), 65 [mempool](@ref rte_mempool.h), 66 [malloc](@ref rte_malloc.h), 67 [memcpy](@ref rte_memcpy.h) 68 69- **timers**: 70 [cycles](@ref rte_cycles.h), 71 [timer](@ref rte_timer.h), 72 [alarm](@ref rte_alarm.h) 73 74- **locks**: 75 [atomic](@ref rte_atomic.h), 76 [mcslock](@ref rte_mcslock.h), 77 [pflock](@ref rte_pflock.h), 78 [rwlock](@ref rte_rwlock.h), 79 [seqcount](@ref rte_seqcount.h), 80 [seqlock](@ref rte_seqlock.h), 81 [spinlock](@ref rte_spinlock.h), 82 [ticketlock](@ref rte_ticketlock.h), 83 [RCU](@ref rte_rcu_qsbr.h) 84 85- **CPU arch**: 86 [branch prediction](@ref rte_branch_prediction.h), 87 [cache prefetch](@ref rte_prefetch.h), 88 [SIMD](@ref rte_vect.h), 89 [byte order](@ref rte_byteorder.h), 90 [CPU flags](@ref rte_cpuflags.h), 91 [CPU pause](@ref rte_pause.h), 92 [I/O access](@ref rte_io.h), 93 [power management](@ref rte_power_intrinsics.h) 94 95- **CPU multicore**: 96 [interrupts](@ref rte_interrupts.h), 97 [launch](@ref rte_launch.h), 98 [lcore](@ref rte_lcore.h), 99 [per-lcore](@ref rte_per_lcore.h), 100 [service cores](@ref rte_service.h), 101 [keepalive](@ref rte_keepalive.h), 102 [power/freq](@ref rte_power.h), 103 [PMD power](@ref rte_power_pmd_mgmt.h) 104 105- **layers**: 106 [ethernet](@ref rte_ether.h), 107 [ARP](@ref rte_arp.h), 108 [HIGIG](@ref rte_higig.h), 109 [ICMP](@ref rte_icmp.h), 110 [ESP](@ref rte_esp.h), 111 [IPsec](@ref rte_ipsec.h), 112 [IPsec group](@ref rte_ipsec_group.h), 113 [IPsec SA](@ref rte_ipsec_sa.h), 114 [IPsec SAD](@ref rte_ipsec_sad.h), 115 [IP](@ref rte_ip.h), 116 [frag/reass](@ref rte_ip_frag.h), 117 [SCTP](@ref rte_sctp.h), 118 [TCP](@ref rte_tcp.h), 119 [UDP](@ref rte_udp.h), 120 [GTP](@ref rte_gtp.h), 121 [GRO](@ref rte_gro.h), 122 [GSO](@ref rte_gso.h), 123 [GRE](@ref rte_gre.h), 124 [MPLS](@ref rte_mpls.h), 125 [VXLAN](@ref rte_vxlan.h), 126 [Geneve](@ref rte_geneve.h), 127 [eCPRI](@ref rte_ecpri.h), 128 [L2TPv2](@ref rte_l2tpv2.h), 129 [PPP](@ref rte_ppp.h) 130 131- **QoS**: 132 [metering](@ref rte_meter.h), 133 [scheduler](@ref rte_sched.h), 134 [RED congestion](@ref rte_red.h) 135 136- **routing**: 137 [LPM IPv4 route](@ref rte_lpm.h), 138 [LPM IPv6 route](@ref rte_lpm6.h), 139 [RIB IPv4](@ref rte_rib.h), 140 [RIB IPv6](@ref rte_rib6.h), 141 [FIB IPv4](@ref rte_fib.h), 142 [FIB IPv6](@ref rte_fib6.h) 143 144- **hashes**: 145 [hash](@ref rte_hash.h), 146 [jhash](@ref rte_jhash.h), 147 [thash](@ref rte_thash.h), 148 [thash_gfni](@ref rte_thash_gfni.h), 149 [FBK hash](@ref rte_fbk_hash.h), 150 [CRC hash](@ref rte_hash_crc.h) 151 152- **classification** 153 [reorder](@ref rte_reorder.h), 154 [distributor](@ref rte_distributor.h), 155 [EFD](@ref rte_efd.h), 156 [ACL](@ref rte_acl.h), 157 [member](@ref rte_member.h), 158 [flow classify](@ref rte_flow_classify.h), 159 [BPF](@ref rte_bpf.h) 160 161- **containers**: 162 [mbuf](@ref rte_mbuf.h), 163 [mbuf pool ops](@ref rte_mbuf_pool_ops.h), 164 [ring](@ref rte_ring.h), 165 [stack](@ref rte_stack.h), 166 [tailq](@ref rte_tailq.h), 167 [bitmap](@ref rte_bitmap.h) 168 169- **packet framework**: 170 * [port](@ref rte_port.h): 171 [ethdev](@ref rte_port_ethdev.h), 172 [ring](@ref rte_port_ring.h), 173 [frag](@ref rte_port_frag.h), 174 [reass](@ref rte_port_ras.h), 175 [sched](@ref rte_port_sched.h), 176 [kni](@ref rte_port_kni.h), 177 [src/sink](@ref rte_port_source_sink.h) 178 * [table](@ref rte_table.h): 179 [lpm IPv4](@ref rte_table_lpm.h), 180 [lpm IPv6](@ref rte_table_lpm_ipv6.h), 181 [ACL](@ref rte_table_acl.h), 182 [hash](@ref rte_table_hash.h), 183 [array](@ref rte_table_array.h), 184 [stub](@ref rte_table_stub.h) 185 * [pipeline](@ref rte_pipeline.h) 186 [port_in_action](@ref rte_port_in_action.h) 187 [table_action](@ref rte_table_action.h) 188 * SWX pipeline: 189 [control](@ref rte_swx_ctl.h), 190 [extern](@ref rte_swx_extern.h), 191 [pipeline](@ref rte_swx_pipeline.h) 192 * SWX port: 193 [port](@ref rte_swx_port.h), 194 [ethdev](@ref rte_swx_port_ethdev.h), 195 [fd](@ref rte_swx_port_fd.h), 196 [ring](@ref rte_swx_port_ring.h), 197 [src/sink](@ref rte_swx_port_source_sink.h) 198 * SWX table: 199 [table](@ref rte_swx_table.h), 200 [table_em](@ref rte_swx_table_em.h) 201 [table_wm](@ref rte_swx_table_wm.h) 202 * [graph](@ref rte_graph.h): 203 [graph_worker](@ref rte_graph_worker.h) 204 * graph_nodes: 205 [eth_node](@ref rte_node_eth_api.h), 206 [ip4_node](@ref rte_node_ip4_api.h) 207 208- **basic**: 209 [bitops](@ref rte_bitops.h), 210 [approx fraction](@ref rte_approx.h), 211 [random](@ref rte_random.h), 212 [config file](@ref rte_cfgfile.h), 213 [key/value args](@ref rte_kvargs.h), 214 [string](@ref rte_string_fns.h) 215 216- **debug**: 217 [jobstats](@ref rte_jobstats.h), 218 [telemetry](@ref rte_telemetry.h), 219 [pcapng](@ref rte_pcapng.h), 220 [pdump](@ref rte_pdump.h), 221 [hexdump](@ref rte_hexdump.h), 222 [debug](@ref rte_debug.h), 223 [log](@ref rte_log.h), 224 [errno](@ref rte_errno.h), 225 [trace](@ref rte_trace.h), 226 [trace_point](@ref rte_trace_point.h) 227 228- **misc**: 229 [EAL config](@ref rte_eal.h), 230 [common](@ref rte_common.h), 231 [experimental APIs](@ref rte_compat.h), 232 [ABI versioning](@ref rte_function_versioning.h), 233 [version](@ref rte_version.h) 234