xref: /dpdk/doc/api/doxy-api-index.md (revision 393e557ea8401d925655eb6c7c91fc7a450dcf2b)
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  [eventdev]           (@ref rte_eventdev.h),
25  [event_eth_rx_adapter]   (@ref rte_event_eth_rx_adapter.h),
26  [event_eth_tx_adapter]   (@ref rte_event_eth_tx_adapter.h),
27  [event_timer_adapter]    (@ref rte_event_timer_adapter.h),
28  [event_crypto_adapter]   (@ref rte_event_crypto_adapter.h),
29  [rawdev]             (@ref rte_rawdev.h),
30  [metrics]            (@ref rte_metrics.h),
31  [bitrate]            (@ref rte_bitrate.h),
32  [latency]            (@ref rte_latencystats.h),
33  [devargs]            (@ref rte_devargs.h),
34  [PCI]                (@ref rte_pci.h),
35  [vdev]               (@ref rte_bus_vdev.h),
36  [vfio]               (@ref rte_vfio.h)
37
38- **device specific**:
39  [softnic]            (@ref rte_eth_softnic.h),
40  [bond]               (@ref rte_eth_bond.h),
41  [vhost]              (@ref rte_vhost.h),
42  [vdpa]               (@ref rte_vdpa.h),
43  [KNI]                (@ref rte_kni.h),
44  [ark]                (@ref rte_pmd_ark.h),
45  [ixgbe]              (@ref rte_pmd_ixgbe.h),
46  [i40e]               (@ref rte_pmd_i40e.h),
47  [ice]                (@ref rte_pmd_ice.h),
48  [ioat]               (@ref rte_ioat_rawdev.h),
49  [bnxt]               (@ref rte_pmd_bnxt.h),
50  [dpaa]               (@ref rte_pmd_dpaa.h),
51  [dpaa2]              (@ref rte_pmd_dpaa2.h),
52  [dpaa2_mempool]      (@ref rte_dpaa2_mempool.h),
53  [dpaa2_cmdif]        (@ref rte_pmd_dpaa2_cmdif.h),
54  [dpaa2_qdma]         (@ref rte_pmd_dpaa2_qdma.h),
55  [crypto_scheduler]   (@ref rte_cryptodev_scheduler.h),
56  [dlb]                (@ref rte_pmd_dlb.h),
57  [dlb2]               (@ref rte_pmd_dlb2.h)
58
59- **memory**:
60  [memseg]             (@ref rte_memory.h),
61  [memzone]            (@ref rte_memzone.h),
62  [mempool]            (@ref rte_mempool.h),
63  [malloc]             (@ref rte_malloc.h),
64  [memcpy]             (@ref rte_memcpy.h)
65
66- **timers**:
67  [cycles]             (@ref rte_cycles.h),
68  [timer]              (@ref rte_timer.h),
69  [alarm]              (@ref rte_alarm.h)
70
71- **locks**:
72  [atomic]             (@ref rte_atomic.h),
73  [mcslock]            (@ref rte_mcslock.h),
74  [rwlock]             (@ref rte_rwlock.h),
75  [spinlock]           (@ref rte_spinlock.h),
76  [ticketlock]         (@ref rte_ticketlock.h),
77  [RCU]                (@ref rte_rcu_qsbr.h)
78
79- **CPU arch**:
80  [branch prediction]  (@ref rte_branch_prediction.h),
81  [cache prefetch]     (@ref rte_prefetch.h),
82  [SIMD]               (@ref rte_vect.h),
83  [byte order]         (@ref rte_byteorder.h),
84  [CPU flags]          (@ref rte_cpuflags.h),
85  [CPU pause]          (@ref rte_pause.h),
86  [I/O access]         (@ref rte_io.h)
87
88- **CPU multicore**:
89  [interrupts]         (@ref rte_interrupts.h),
90  [launch]             (@ref rte_launch.h),
91  [lcore]              (@ref rte_lcore.h),
92  [per-lcore]          (@ref rte_per_lcore.h),
93  [service cores]      (@ref rte_service.h),
94  [keepalive]          (@ref rte_keepalive.h),
95  [power/freq]         (@ref rte_power.h)
96
97- **layers**:
98  [ethernet]           (@ref rte_ether.h),
99  [ARP]                (@ref rte_arp.h),
100  [HIGIG]              (@ref rte_higig.h),
101  [ICMP]               (@ref rte_icmp.h),
102  [ESP]                (@ref rte_esp.h),
103  [IPsec]              (@ref rte_ipsec.h),
104  [IPsec group]        (@ref rte_ipsec_group.h),
105  [IPsec SA]           (@ref rte_ipsec_sa.h),
106  [IPsec SAD]          (@ref rte_ipsec_sad.h),
107  [IP]                 (@ref rte_ip.h),
108  [SCTP]               (@ref rte_sctp.h),
109  [TCP]                (@ref rte_tcp.h),
110  [UDP]                (@ref rte_udp.h),
111  [GTP]                (@ref rte_gtp.h),
112  [GRO]                (@ref rte_gro.h),
113  [GSO]                (@ref rte_gso.h),
114  [frag/reass]         (@ref rte_ip_frag.h),
115  [VXLAN]              (@ref rte_vxlan.h)
116
117- **QoS**:
118  [metering]           (@ref rte_meter.h),
119  [scheduler]          (@ref rte_sched.h),
120  [RED congestion]     (@ref rte_red.h)
121
122- **routing**:
123  [LPM IPv4 route]     (@ref rte_lpm.h),
124  [LPM IPv6 route]     (@ref rte_lpm6.h),
125  [RIB IPv4]           (@ref rte_rib.h),
126  [RIB IPv6]           (@ref rte_rib6.h),
127  [FIB IPv4]           (@ref rte_fib.h),
128  [FIB IPv6]           (@ref rte_fib6.h)
129
130- **hashes**:
131  [hash]               (@ref rte_hash.h),
132  [jhash]              (@ref rte_jhash.h),
133  [thash]              (@ref rte_thash.h),
134  [FBK hash]           (@ref rte_fbk_hash.h),
135  [CRC hash]           (@ref rte_hash_crc.h)
136
137- **classification**
138  [reorder]            (@ref rte_reorder.h),
139  [distributor]        (@ref rte_distributor.h),
140  [EFD]                (@ref rte_efd.h),
141  [ACL]                (@ref rte_acl.h),
142  [member]             (@ref rte_member.h),
143  [flow classify]      (@ref rte_flow_classify.h),
144  [BPF]                (@ref rte_bpf.h)
145
146- **containers**:
147  [mbuf]               (@ref rte_mbuf.h),
148  [mbuf pool ops]      (@ref rte_mbuf_pool_ops.h),
149  [ring]               (@ref rte_ring.h),
150  [stack]              (@ref rte_stack.h),
151  [tailq]              (@ref rte_tailq.h),
152  [bitmap]             (@ref rte_bitmap.h)
153
154- **packet framework**:
155  * [port]             (@ref rte_port.h):
156    [ethdev]           (@ref rte_port_ethdev.h),
157    [ring]             (@ref rte_port_ring.h),
158    [frag]             (@ref rte_port_frag.h),
159    [reass]            (@ref rte_port_ras.h),
160    [sched]            (@ref rte_port_sched.h),
161    [kni]              (@ref rte_port_kni.h),
162    [src/sink]         (@ref rte_port_source_sink.h)
163  * [table]            (@ref rte_table.h):
164    [lpm IPv4]         (@ref rte_table_lpm.h),
165    [lpm IPv6]         (@ref rte_table_lpm_ipv6.h),
166    [ACL]              (@ref rte_table_acl.h),
167    [hash]             (@ref rte_table_hash.h),
168    [array]            (@ref rte_table_array.h),
169    [stub]             (@ref rte_table_stub.h)
170  * [pipeline]         (@ref rte_pipeline.h)
171    [port_in_action]   (@ref rte_port_in_action.h)
172    [table_action]     (@ref rte_table_action.h)
173  * SWX pipeline:
174    [control]          (@ref rte_swx_ctl.h),
175    [extern]           (@ref rte_swx_extern.h),
176    [pipeline]         (@ref rte_swx_pipeline.h)
177  * SWX port:
178    [port]             (@ref rte_swx_port.h),
179    [ethdev]           (@ref rte_swx_port_ethdev.h),
180    [src/sink]         (@ref rte_swx_port_source_sink.h)
181  * SWX table:
182    [table]            (@ref rte_swx_table.h),
183    [table_em]         (@ref rte_swx_table_em.h)
184  * [graph]            (@ref rte_graph.h):
185    [graph_worker]     (@ref rte_graph_worker.h)
186  * graph_nodes:
187    [eth_node]         (@ref rte_node_eth_api.h),
188    [ip4_node]         (@ref rte_node_ip4_api.h)
189
190- **basic**:
191  [bitops]             (@ref rte_bitops.h),
192  [approx fraction]    (@ref rte_approx.h),
193  [random]             (@ref rte_random.h),
194  [config file]        (@ref rte_cfgfile.h),
195  [key/value args]     (@ref rte_kvargs.h),
196  [string]             (@ref rte_string_fns.h)
197
198- **debug**:
199  [jobstats]           (@ref rte_jobstats.h),
200  [telemetry]          (@ref rte_telemetry.h),
201  [pdump]              (@ref rte_pdump.h),
202  [hexdump]            (@ref rte_hexdump.h),
203  [debug]              (@ref rte_debug.h),
204  [log]                (@ref rte_log.h),
205  [errno]              (@ref rte_errno.h),
206  [trace]              (@ref rte_trace.h),
207  [trace_point]        (@ref rte_trace_point.h)
208
209- **misc**:
210  [EAL config]         (@ref rte_eal.h),
211  [common]             (@ref rte_common.h),
212  [experimental APIs]  (@ref rte_compat.h),
213  [ABI versioning]     (@ref rte_function_versioning.h),
214  [version]            (@ref rte_version.h)
215