DPDK  21.11.0
doc/api/doxy-api-index.md
1 API
2 ===
3 
4 <!--
5  SPDX-License-Identifier: BSD-3-Clause
6  Copyright(c) 2013-2017 6WIND S.A.
7 -->
8 
9 The 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  [L2TPv2] (@ref rte_l2tpv2.h),
126  [PPP] (@ref rte_ppp.h)
127 
128 - **QoS**:
129  [metering] (@ref rte_meter.h),
130  [scheduler] (@ref rte_sched.h),
131  [RED congestion] (@ref rte_red.h)
132 
133 - **routing**:
134  [LPM IPv4 route] (@ref rte_lpm.h),
135  [LPM IPv6 route] (@ref rte_lpm6.h),
136  [RIB IPv4] (@ref rte_rib.h),
137  [RIB IPv6] (@ref rte_rib6.h),
138  [FIB IPv4] (@ref rte_fib.h),
139  [FIB IPv6] (@ref rte_fib6.h)
140 
141 - **hashes**:
142  [hash] (@ref rte_hash.h),
143  [jhash] (@ref rte_jhash.h),
144  [thash] (@ref rte_thash.h),
145  [thash_gfni] (@ref rte_thash_gfni.h),
146  [FBK hash] (@ref rte_fbk_hash.h),
147  [CRC hash] (@ref rte_hash_crc.h)
148 
149 - **classification**
150  [reorder] (@ref rte_reorder.h),
151  [distributor] (@ref rte_distributor.h),
152  [EFD] (@ref rte_efd.h),
153  [ACL] (@ref rte_acl.h),
154  [member] (@ref rte_member.h),
155  [flow classify] (@ref rte_flow_classify.h),
156  [BPF] (@ref rte_bpf.h)
157 
158 - **containers**:
159  [mbuf] (@ref rte_mbuf.h),
160  [mbuf pool ops] (@ref rte_mbuf_pool_ops.h),
161  [ring] (@ref rte_ring.h),
162  [stack] (@ref rte_stack.h),
163  [tailq] (@ref rte_tailq.h),
164  [bitmap] (@ref rte_bitmap.h)
165 
166 - **packet framework**:
167  * [port] (@ref rte_port.h):
168  [ethdev] (@ref rte_port_ethdev.h),
169  [ring] (@ref rte_port_ring.h),
170  [frag] (@ref rte_port_frag.h),
171  [reass] (@ref rte_port_ras.h),
172  [sched] (@ref rte_port_sched.h),
173  [kni] (@ref rte_port_kni.h),
174  [src/sink] (@ref rte_port_source_sink.h)
175  * [table] (@ref rte_table.h):
176  [lpm IPv4] (@ref rte_table_lpm.h),
177  [lpm IPv6] (@ref rte_table_lpm_ipv6.h),
178  [ACL] (@ref rte_table_acl.h),
179  [hash] (@ref rte_table_hash.h),
180  [array] (@ref rte_table_array.h),
181  [stub] (@ref rte_table_stub.h)
182  * [pipeline] (@ref rte_pipeline.h)
183  [port_in_action] (@ref rte_port_in_action.h)
184  [table_action] (@ref rte_table_action.h)
185  * SWX pipeline:
186  [control] (@ref rte_swx_ctl.h),
187  [extern] (@ref rte_swx_extern.h),
188  [pipeline] (@ref rte_swx_pipeline.h)
189  * SWX port:
190  [port] (@ref rte_swx_port.h),
191  [ethdev] (@ref rte_swx_port_ethdev.h),
192  [fd] (@ref rte_swx_port_fd.h),
193  [ring] (@ref rte_swx_port_ring.h),
194  [src/sink] (@ref rte_swx_port_source_sink.h)
195  * SWX table:
196  [table] (@ref rte_swx_table.h),
197  [table_em] (@ref rte_swx_table_em.h)
198  [table_wm] (@ref rte_swx_table_wm.h)
199  * [graph] (@ref rte_graph.h):
200  [graph_worker] (@ref rte_graph_worker.h)
201  * graph_nodes:
202  [eth_node] (@ref rte_node_eth_api.h),
203  [ip4_node] (@ref rte_node_ip4_api.h)
204 
205 - **basic**:
206  [bitops] (@ref rte_bitops.h),
207  [approx fraction] (@ref rte_approx.h),
208  [random] (@ref rte_random.h),
209  [config file] (@ref rte_cfgfile.h),
210  [key/value args] (@ref rte_kvargs.h),
211  [string] (@ref rte_string_fns.h)
212 
213 - **debug**:
214  [jobstats] (@ref rte_jobstats.h),
215  [telemetry] (@ref rte_telemetry.h),
216  [pcapng] (@ref rte_pcapng.h),
217  [pdump] (@ref rte_pdump.h),
218  [hexdump] (@ref rte_hexdump.h),
219  [debug] (@ref rte_debug.h),
220  [log] (@ref rte_log.h),
221  [errno] (@ref rte_errno.h),
222  [trace] (@ref rte_trace.h),
223  [trace_point] (@ref rte_trace_point.h)
224 
225 - **misc**:
226  [EAL config] (@ref rte_eal.h),
227  [common] (@ref rte_common.h),
228  [experimental APIs] (@ref rte_compat.h),
229  [ABI versioning] (@ref rte_function_versioning.h),
230  [version] (@ref rte_version.h)