1API {#index} 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 [eventdev] (@ref rte_eventdev.h), 24 [event_eth_rx_adapter] (@ref rte_event_eth_rx_adapter.h), 25 [event_eth_tx_adapter] (@ref rte_event_eth_tx_adapter.h), 26 [event_timer_adapter] (@ref rte_event_timer_adapter.h), 27 [event_crypto_adapter] (@ref rte_event_crypto_adapter.h), 28 [rawdev] (@ref rte_rawdev.h), 29 [metrics] (@ref rte_metrics.h), 30 [bitrate] (@ref rte_bitrate.h), 31 [latency] (@ref rte_latencystats.h), 32 [devargs] (@ref rte_devargs.h), 33 [PCI] (@ref rte_pci.h), 34 [vfio] (@ref rte_vfio.h) 35 36- **device specific**: 37 [softnic] (@ref rte_eth_softnic.h), 38 [bond] (@ref rte_eth_bond.h), 39 [vhost] (@ref rte_vhost.h), 40 [vdpa] (@ref rte_vdpa.h), 41 [KNI] (@ref rte_kni.h), 42 [ixgbe] (@ref rte_pmd_ixgbe.h), 43 [i40e] (@ref rte_pmd_i40e.h), 44 [bnxt] (@ref rte_pmd_bnxt.h), 45 [dpaa] (@ref rte_pmd_dpaa.h), 46 [dpaa2] (@ref rte_pmd_dpaa2.h), 47 [dpaa2_mempool] (@ref rte_dpaa2_mempool.h), 48 [dpaa2_cmdif] (@ref rte_pmd_dpaa2_cmdif.h), 49 [dpaa2_qdma] (@ref rte_pmd_dpaa2_qdma.h), 50 [crypto_scheduler] (@ref rte_cryptodev_scheduler.h) 51 52- **memory**: 53 [memseg] (@ref rte_memory.h), 54 [memzone] (@ref rte_memzone.h), 55 [mempool] (@ref rte_mempool.h), 56 [malloc] (@ref rte_malloc.h), 57 [memcpy] (@ref rte_memcpy.h) 58 59- **timers**: 60 [cycles] (@ref rte_cycles.h), 61 [timer] (@ref rte_timer.h), 62 [alarm] (@ref rte_alarm.h) 63 64- **locks**: 65 [atomic] (@ref rte_atomic.h), 66 [rwlock] (@ref rte_rwlock.h), 67 [spinlock] (@ref rte_spinlock.h), 68 [ticketlock] (@ref rte_ticketlock.h), 69 [RCU] (@ref rte_rcu_qsbr.h) 70 71- **CPU arch**: 72 [branch prediction] (@ref rte_branch_prediction.h), 73 [cache prefetch] (@ref rte_prefetch.h), 74 [SIMD] (@ref rte_vect.h), 75 [byte order] (@ref rte_byteorder.h), 76 [CPU flags] (@ref rte_cpuflags.h), 77 [CPU pause] (@ref rte_pause.h), 78 [I/O access] (@ref rte_io.h) 79 80- **CPU multicore**: 81 [interrupts] (@ref rte_interrupts.h), 82 [launch] (@ref rte_launch.h), 83 [lcore] (@ref rte_lcore.h), 84 [per-lcore] (@ref rte_per_lcore.h), 85 [service cores] (@ref rte_service.h), 86 [keepalive] (@ref rte_keepalive.h), 87 [power/freq] (@ref rte_power.h) 88 89- **layers**: 90 [ethernet] (@ref rte_ether.h), 91 [ARP] (@ref rte_arp.h), 92 [ICMP] (@ref rte_icmp.h), 93 [ESP] (@ref rte_esp.h), 94 [IP] (@ref rte_ip.h), 95 [SCTP] (@ref rte_sctp.h), 96 [TCP] (@ref rte_tcp.h), 97 [UDP] (@ref rte_udp.h), 98 [GRO] (@ref rte_gro.h), 99 [GSO] (@ref rte_gso.h), 100 [frag/reass] (@ref rte_ip_frag.h), 101 [LPM IPv4 route] (@ref rte_lpm.h), 102 [LPM IPv6 route] (@ref rte_lpm6.h) 103 104- **QoS**: 105 [metering] (@ref rte_meter.h), 106 [scheduler] (@ref rte_sched.h), 107 [RED congestion] (@ref rte_red.h) 108 109- **hashes**: 110 [hash] (@ref rte_hash.h), 111 [jhash] (@ref rte_jhash.h), 112 [thash] (@ref rte_thash.h), 113 [FBK hash] (@ref rte_fbk_hash.h), 114 [CRC hash] (@ref rte_hash_crc.h) 115 116- **classification** 117 [reorder] (@ref rte_reorder.h), 118 [distributor] (@ref rte_distributor.h), 119 [EFD] (@ref rte_efd.h), 120 [ACL] (@ref rte_acl.h), 121 [member] (@ref rte_member.h), 122 [flow classify] (@ref rte_flow_classify.h), 123 [BPF] (@ref rte_bpf.h) 124 125- **containers**: 126 [mbuf] (@ref rte_mbuf.h), 127 [mbuf pool ops] (@ref rte_mbuf_pool_ops.h), 128 [ring] (@ref rte_ring.h), 129 [stack] (@ref rte_stack.h), 130 [tailq] (@ref rte_tailq.h), 131 [bitmap] (@ref rte_bitmap.h) 132 133- **packet framework**: 134 * [port] (@ref rte_port.h): 135 [ethdev] (@ref rte_port_ethdev.h), 136 [ring] (@ref rte_port_ring.h), 137 [frag] (@ref rte_port_frag.h), 138 [reass] (@ref rte_port_ras.h), 139 [sched] (@ref rte_port_sched.h), 140 [kni] (@ref rte_port_kni.h), 141 [src/sink] (@ref rte_port_source_sink.h) 142 * [table] (@ref rte_table.h): 143 [lpm IPv4] (@ref rte_table_lpm.h), 144 [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 145 [ACL] (@ref rte_table_acl.h), 146 [hash] (@ref rte_table_hash.h), 147 [array] (@ref rte_table_array.h), 148 [stub] (@ref rte_table_stub.h) 149 * [pipeline] (@ref rte_pipeline.h) 150 [port_in_action] (@ref rte_port_in_action.h) 151 [table_action] (@ref rte_table_action.h) 152 153- **basic**: 154 [approx fraction] (@ref rte_approx.h), 155 [random] (@ref rte_random.h), 156 [config file] (@ref rte_cfgfile.h), 157 [key/value args] (@ref rte_kvargs.h), 158 [string] (@ref rte_string_fns.h) 159 160- **debug**: 161 [jobstats] (@ref rte_jobstats.h), 162 [telemetry] (@ref rte_telemetry.h), 163 [pdump] (@ref rte_pdump.h), 164 [hexdump] (@ref rte_hexdump.h), 165 [debug] (@ref rte_debug.h), 166 [log] (@ref rte_log.h), 167 [errno] (@ref rte_errno.h) 168 169- **misc**: 170 [EAL config] (@ref rte_eal.h), 171 [common] (@ref rte_common.h), 172 [ABI compat] (@ref rte_compat.h), 173 [version] (@ref rte_version.h) 174