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