ethdev: support L2TPv2 and PPP procotol
[dpdk.git] / 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   [FBK hash]           (@ref rte_fbk_hash.h),
146   [CRC hash]           (@ref rte_hash_crc.h)
147
148 - **classification**
149   [reorder]            (@ref rte_reorder.h),
150   [distributor]        (@ref rte_distributor.h),
151   [EFD]                (@ref rte_efd.h),
152   [ACL]                (@ref rte_acl.h),
153   [member]             (@ref rte_member.h),
154   [flow classify]      (@ref rte_flow_classify.h),
155   [BPF]                (@ref rte_bpf.h)
156
157 - **containers**:
158   [mbuf]               (@ref rte_mbuf.h),
159   [mbuf pool ops]      (@ref rte_mbuf_pool_ops.h),
160   [ring]               (@ref rte_ring.h),
161   [stack]              (@ref rte_stack.h),
162   [tailq]              (@ref rte_tailq.h),
163   [bitmap]             (@ref rte_bitmap.h)
164
165 - **packet framework**:
166   * [port]             (@ref rte_port.h):
167     [ethdev]           (@ref rte_port_ethdev.h),
168     [ring]             (@ref rte_port_ring.h),
169     [frag]             (@ref rte_port_frag.h),
170     [reass]            (@ref rte_port_ras.h),
171     [sched]            (@ref rte_port_sched.h),
172     [kni]              (@ref rte_port_kni.h),
173     [src/sink]         (@ref rte_port_source_sink.h)
174   * [table]            (@ref rte_table.h):
175     [lpm IPv4]         (@ref rte_table_lpm.h),
176     [lpm IPv6]         (@ref rte_table_lpm_ipv6.h),
177     [ACL]              (@ref rte_table_acl.h),
178     [hash]             (@ref rte_table_hash.h),
179     [array]            (@ref rte_table_array.h),
180     [stub]             (@ref rte_table_stub.h)
181   * [pipeline]         (@ref rte_pipeline.h)
182     [port_in_action]   (@ref rte_port_in_action.h)
183     [table_action]     (@ref rte_table_action.h)
184   * SWX pipeline:
185     [control]          (@ref rte_swx_ctl.h),
186     [extern]           (@ref rte_swx_extern.h),
187     [pipeline]         (@ref rte_swx_pipeline.h)
188   * SWX port:
189     [port]             (@ref rte_swx_port.h),
190     [ethdev]           (@ref rte_swx_port_ethdev.h),
191     [fd]               (@ref rte_swx_port_fd.h),
192     [ring]             (@ref rte_swx_port_ring.h),
193     [src/sink]         (@ref rte_swx_port_source_sink.h)
194   * SWX table:
195     [table]            (@ref rte_swx_table.h),
196     [table_em]         (@ref rte_swx_table_em.h)
197     [table_wm]         (@ref rte_swx_table_wm.h)
198   * [graph]            (@ref rte_graph.h):
199     [graph_worker]     (@ref rte_graph_worker.h)
200   * graph_nodes:
201     [eth_node]         (@ref rte_node_eth_api.h),
202     [ip4_node]         (@ref rte_node_ip4_api.h)
203
204 - **basic**:
205   [bitops]             (@ref rte_bitops.h),
206   [approx fraction]    (@ref rte_approx.h),
207   [random]             (@ref rte_random.h),
208   [config file]        (@ref rte_cfgfile.h),
209   [key/value args]     (@ref rte_kvargs.h),
210   [string]             (@ref rte_string_fns.h)
211
212 - **debug**:
213   [jobstats]           (@ref rte_jobstats.h),
214   [telemetry]          (@ref rte_telemetry.h),
215   [pcapng]             (@ref rte_pcapng.h),
216   [pdump]              (@ref rte_pdump.h),
217   [hexdump]            (@ref rte_hexdump.h),
218   [debug]              (@ref rte_debug.h),
219   [log]                (@ref rte_log.h),
220   [errno]              (@ref rte_errno.h),
221   [trace]              (@ref rte_trace.h),
222   [trace_point]        (@ref rte_trace_point.h)
223
224 - **misc**:
225   [EAL config]         (@ref rte_eal.h),
226   [common]             (@ref rte_common.h),
227   [experimental APIs]  (@ref rte_compat.h),
228   [ABI versioning]     (@ref rte_function_versioning.h),
229   [version]            (@ref rte_version.h)