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 [dpaa] (@ref rte_pmd_dpaa.h), 52 [dpaa2] (@ref rte_pmd_dpaa2.h), 53 [mlx5] (@ref rte_pmd_mlx5.h), 54 [dpaa2_mempool] (@ref rte_dpaa2_mempool.h), 55 [dpaa2_cmdif] (@ref rte_pmd_dpaa2_cmdif.h), 56 [dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h), 57 [crypto_scheduler] (@ref rte_cryptodev_scheduler.h), 58 [dlb2] (@ref rte_pmd_dlb2.h), 59 [ifpga] (@ref rte_pmd_ifpga.h) 60 61- **memory**: 62 [memseg] (@ref rte_memory.h), 63 [memzone] (@ref rte_memzone.h), 64 [mempool] (@ref rte_mempool.h), 65 [malloc] (@ref rte_malloc.h), 66 [memcpy] (@ref rte_memcpy.h) 67 68- **timers**: 69 [cycles] (@ref rte_cycles.h), 70 [timer] (@ref rte_timer.h), 71 [alarm] (@ref rte_alarm.h) 72 73- **locks**: 74 [atomic] (@ref rte_atomic.h), 75 [mcslock] (@ref rte_mcslock.h), 76 [pflock] (@ref rte_pflock.h), 77 [rwlock] (@ref rte_rwlock.h), 78 [spinlock] (@ref rte_spinlock.h), 79 [ticketlock] (@ref rte_ticketlock.h), 80 [RCU] (@ref rte_rcu_qsbr.h) 81 82- **CPU arch**: 83 [branch prediction] (@ref rte_branch_prediction.h), 84 [cache prefetch] (@ref rte_prefetch.h), 85 [SIMD] (@ref rte_vect.h), 86 [byte order] (@ref rte_byteorder.h), 87 [CPU flags] (@ref rte_cpuflags.h), 88 [CPU pause] (@ref rte_pause.h), 89 [I/O access] (@ref rte_io.h), 90 [power management] (@ref rte_power_intrinsics.h) 91 92- **CPU multicore**: 93 [interrupts] (@ref rte_interrupts.h), 94 [launch] (@ref rte_launch.h), 95 [lcore] (@ref rte_lcore.h), 96 [per-lcore] (@ref rte_per_lcore.h), 97 [service cores] (@ref rte_service.h), 98 [keepalive] (@ref rte_keepalive.h), 99 [power/freq] (@ref rte_power.h), 100 [PMD power] (@ref rte_power_pmd_mgmt.h) 101 102- **layers**: 103 [ethernet] (@ref rte_ether.h), 104 [ARP] (@ref rte_arp.h), 105 [HIGIG] (@ref rte_higig.h), 106 [ICMP] (@ref rte_icmp.h), 107 [ESP] (@ref rte_esp.h), 108 [IPsec] (@ref rte_ipsec.h), 109 [IPsec group] (@ref rte_ipsec_group.h), 110 [IPsec SA] (@ref rte_ipsec_sa.h), 111 [IPsec SAD] (@ref rte_ipsec_sad.h), 112 [IP] (@ref rte_ip.h), 113 [frag/reass] (@ref rte_ip_frag.h), 114 [SCTP] (@ref rte_sctp.h), 115 [TCP] (@ref rte_tcp.h), 116 [UDP] (@ref rte_udp.h), 117 [GTP] (@ref rte_gtp.h), 118 [GRO] (@ref rte_gro.h), 119 [GSO] (@ref rte_gso.h), 120 [GRE] (@ref rte_gre.h), 121 [MPLS] (@ref rte_mpls.h), 122 [VXLAN] (@ref rte_vxlan.h), 123 [Geneve] (@ref rte_geneve.h), 124 [eCPRI] (@ref rte_ecpri.h) 125 126- **QoS**: 127 [metering] (@ref rte_meter.h), 128 [scheduler] (@ref rte_sched.h), 129 [RED congestion] (@ref rte_red.h) 130 131- **routing**: 132 [LPM IPv4 route] (@ref rte_lpm.h), 133 [LPM IPv6 route] (@ref rte_lpm6.h), 134 [RIB IPv4] (@ref rte_rib.h), 135 [RIB IPv6] (@ref rte_rib6.h), 136 [FIB IPv4] (@ref rte_fib.h), 137 [FIB IPv6] (@ref rte_fib6.h) 138 139- **hashes**: 140 [hash] (@ref rte_hash.h), 141 [jhash] (@ref rte_jhash.h), 142 [thash] (@ref rte_thash.h), 143 [FBK hash] (@ref rte_fbk_hash.h), 144 [CRC hash] (@ref rte_hash_crc.h) 145 146- **classification** 147 [reorder] (@ref rte_reorder.h), 148 [distributor] (@ref rte_distributor.h), 149 [EFD] (@ref rte_efd.h), 150 [ACL] (@ref rte_acl.h), 151 [member] (@ref rte_member.h), 152 [flow classify] (@ref rte_flow_classify.h), 153 [BPF] (@ref rte_bpf.h) 154 155- **containers**: 156 [mbuf] (@ref rte_mbuf.h), 157 [mbuf pool ops] (@ref rte_mbuf_pool_ops.h), 158 [ring] (@ref rte_ring.h), 159 [stack] (@ref rte_stack.h), 160 [tailq] (@ref rte_tailq.h), 161 [bitmap] (@ref rte_bitmap.h) 162 163- **packet framework**: 164 * [port] (@ref rte_port.h): 165 [ethdev] (@ref rte_port_ethdev.h), 166 [ring] (@ref rte_port_ring.h), 167 [frag] (@ref rte_port_frag.h), 168 [reass] (@ref rte_port_ras.h), 169 [sched] (@ref rte_port_sched.h), 170 [kni] (@ref rte_port_kni.h), 171 [src/sink] (@ref rte_port_source_sink.h) 172 * [table] (@ref rte_table.h): 173 [lpm IPv4] (@ref rte_table_lpm.h), 174 [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 175 [ACL] (@ref rte_table_acl.h), 176 [hash] (@ref rte_table_hash.h), 177 [array] (@ref rte_table_array.h), 178 [stub] (@ref rte_table_stub.h) 179 * [pipeline] (@ref rte_pipeline.h) 180 [port_in_action] (@ref rte_port_in_action.h) 181 [table_action] (@ref rte_table_action.h) 182 * SWX pipeline: 183 [control] (@ref rte_swx_ctl.h), 184 [extern] (@ref rte_swx_extern.h), 185 [pipeline] (@ref rte_swx_pipeline.h) 186 * SWX port: 187 [port] (@ref rte_swx_port.h), 188 [ethdev] (@ref rte_swx_port_ethdev.h), 189 [fd] (@ref rte_swx_port_fd.h), 190 [ring] (@ref rte_swx_port_ring.h), 191 [src/sink] (@ref rte_swx_port_source_sink.h) 192 * SWX table: 193 [table] (@ref rte_swx_table.h), 194 [table_em] (@ref rte_swx_table_em.h) 195 [table_wm] (@ref rte_swx_table_wm.h) 196 * [graph] (@ref rte_graph.h): 197 [graph_worker] (@ref rte_graph_worker.h) 198 * graph_nodes: 199 [eth_node] (@ref rte_node_eth_api.h), 200 [ip4_node] (@ref rte_node_ip4_api.h) 201 202- **basic**: 203 [bitops] (@ref rte_bitops.h), 204 [approx fraction] (@ref rte_approx.h), 205 [random] (@ref rte_random.h), 206 [config file] (@ref rte_cfgfile.h), 207 [key/value args] (@ref rte_kvargs.h), 208 [string] (@ref rte_string_fns.h) 209 210- **debug**: 211 [jobstats] (@ref rte_jobstats.h), 212 [telemetry] (@ref rte_telemetry.h), 213 [pdump] (@ref rte_pdump.h), 214 [hexdump] (@ref rte_hexdump.h), 215 [debug] (@ref rte_debug.h), 216 [log] (@ref rte_log.h), 217 [errno] (@ref rte_errno.h), 218 [trace] (@ref rte_trace.h), 219 [trace_point] (@ref rte_trace_point.h) 220 221- **misc**: 222 [EAL config] (@ref rte_eal.h), 223 [common] (@ref rte_common.h), 224 [experimental APIs] (@ref rte_compat.h), 225 [ABI versioning] (@ref rte_function_versioning.h), 226 [version] (@ref rte_version.h) 227