16b919b0fSThomas MonjalonAPI {#index} 26b919b0fSThomas Monjalon=== 36b919b0fSThomas Monjalon 46b919b0fSThomas Monjalon<!-- 56b919b0fSThomas Monjalon BSD LICENSE 66b919b0fSThomas Monjalon 7349950ddSRemy Horton Copyright 2013-2017 6WIND S.A. 86b919b0fSThomas Monjalon 96b919b0fSThomas Monjalon Redistribution and use in source and binary forms, with or without 106b919b0fSThomas Monjalon modification, are permitted provided that the following conditions 116b919b0fSThomas Monjalon are met: 126b919b0fSThomas Monjalon 136b919b0fSThomas Monjalon * Redistributions of source code must retain the above copyright 146b919b0fSThomas Monjalon notice, this list of conditions and the following disclaimer. 156b919b0fSThomas Monjalon * Redistributions in binary form must reproduce the above copyright 166b919b0fSThomas Monjalon notice, this list of conditions and the following disclaimer in 176b919b0fSThomas Monjalon the documentation and/or other materials provided with the 186b919b0fSThomas Monjalon distribution. 196b919b0fSThomas Monjalon * Neither the name of 6WIND S.A. nor the names of its 206b919b0fSThomas Monjalon contributors may be used to endorse or promote products derived 216b919b0fSThomas Monjalon from this software without specific prior written permission. 226b919b0fSThomas Monjalon 236b919b0fSThomas Monjalon THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 246b919b0fSThomas Monjalon "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 256b919b0fSThomas Monjalon LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 266b919b0fSThomas Monjalon A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 276b919b0fSThomas Monjalon OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 286b919b0fSThomas Monjalon SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 296b919b0fSThomas Monjalon LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 306b919b0fSThomas Monjalon DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 316b919b0fSThomas Monjalon THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 326b919b0fSThomas Monjalon (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 336b919b0fSThomas Monjalon OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 346b919b0fSThomas Monjalon--> 356b919b0fSThomas Monjalon 3613b1a597SThomas MonjalonThe public API headers are grouped by topics: 376b919b0fSThomas Monjalon 386b919b0fSThomas Monjalon- **device**: 392b3f27eeSThomas Monjalon [dev] (@ref rte_dev.h), 406b919b0fSThomas Monjalon [ethdev] (@ref rte_ethdev.h), 412b3f27eeSThomas Monjalon [ethctrl] (@ref rte_eth_ctrl.h), 42b1a4b4cbSAdrien Mazarguil [rte_flow] (@ref rte_flow.h), 435d109defSCristian Dumitrescu [rte_tm] (@ref rte_tm.h), 446613ffe1SCristian Dumitrescu [rte_mtr] (@ref rte_mtr.h), 45*4935e1e9SAmr Mokhtar [bbdev] (@ref rte_bbdev.h), 46d11b0f30SDeclan Doherty [cryptodev] (@ref rte_cryptodev.h), 47c261d143SAkhil Goyal [security] (@ref rte_security.h), 4871f23843SJerin Jacob [eventdev] (@ref rte_eventdev.h), 49dcc806c2SNikhil Rao [event_eth_rx_adapter] (@ref rte_event_eth_rx_adapter.h), 50bb79058fSThomas Monjalon [metrics] (@ref rte_metrics.h), 51bb79058fSThomas Monjalon [bitrate] (@ref rte_bitrate.h), 52bb79058fSThomas Monjalon [latency] (@ref rte_latencystats.h), 536b919b0fSThomas Monjalon [devargs] (@ref rte_devargs.h), 5426fb45a3SFerruh Yigit [PCI] (@ref rte_pci.h) 5526fb45a3SFerruh Yigit 5626fb45a3SFerruh Yigit- **device specific**: 57cc6d4215SJasvinder Singh [softnic] (@ref rte_eth_softnic.h), 586b919b0fSThomas Monjalon [bond] (@ref rte_eth_bond.h), 59a798beb4SYuanhan Liu [vhost] (@ref rte_vhost.h), 606b919b0fSThomas Monjalon [KNI] (@ref rte_kni.h), 6126fb45a3SFerruh Yigit [ixgbe] (@ref rte_pmd_ixgbe.h), 62dc8bd2f6SFan Zhang [i40e] (@ref rte_pmd_i40e.h), 637e9b4e58SFerruh Yigit [bnxt] (@ref rte_pmd_bnxt.h), 648c3495f5SHemant Agrawal [dpaa] (@ref rte_pmd_dpaa.h), 65dc8bd2f6SFan Zhang [crypto_scheduler] (@ref rte_cryptodev_scheduler.h) 666b919b0fSThomas Monjalon 676b919b0fSThomas Monjalon- **memory**: 686b919b0fSThomas Monjalon [memseg] (@ref rte_memory.h), 696b919b0fSThomas Monjalon [memzone] (@ref rte_memzone.h), 706b919b0fSThomas Monjalon [mempool] (@ref rte_mempool.h), 716b919b0fSThomas Monjalon [malloc] (@ref rte_malloc.h), 726b919b0fSThomas Monjalon [memcpy] (@ref rte_memcpy.h) 736b919b0fSThomas Monjalon 746b919b0fSThomas Monjalon- **timers**: 756b919b0fSThomas Monjalon [cycles] (@ref rte_cycles.h), 766b919b0fSThomas Monjalon [timer] (@ref rte_timer.h), 776b919b0fSThomas Monjalon [alarm] (@ref rte_alarm.h) 786b919b0fSThomas Monjalon 796b919b0fSThomas Monjalon- **locks**: 806b919b0fSThomas Monjalon [atomic] (@ref rte_atomic.h), 816b919b0fSThomas Monjalon [rwlock] (@ref rte_rwlock.h), 826b919b0fSThomas Monjalon [spinlock] (@ref rte_spinlock.h) 836b919b0fSThomas Monjalon 846b919b0fSThomas Monjalon- **CPU arch**: 856b919b0fSThomas Monjalon [branch prediction] (@ref rte_branch_prediction.h), 866b919b0fSThomas Monjalon [cache prefetch] (@ref rte_prefetch.h), 8786c743cfSNelio Laranjeiro [SIMD] (@ref rte_vect.h), 886b919b0fSThomas Monjalon [byte order] (@ref rte_byteorder.h), 8969736db1SJerin Jacob [CPU flags] (@ref rte_cpuflags.h), 90841e7ae5SJerin Jacob [CPU pause] (@ref rte_pause.h), 9169736db1SJerin Jacob [I/O access] (@ref rte_io.h) 926b919b0fSThomas Monjalon 936b919b0fSThomas Monjalon- **CPU multicore**: 946b919b0fSThomas Monjalon [interrupts] (@ref rte_interrupts.h), 956b919b0fSThomas Monjalon [launch] (@ref rte_launch.h), 966b919b0fSThomas Monjalon [lcore] (@ref rte_lcore.h), 976b919b0fSThomas Monjalon [per-lcore] (@ref rte_per_lcore.h), 9821698354SHarry van Haaren [service cores] (@ref rte_service.h), 995c8baff8SThomas Monjalon [keepalive] (@ref rte_keepalive.h), 1006b919b0fSThomas Monjalon [power/freq] (@ref rte_power.h) 1016b919b0fSThomas Monjalon 1026b919b0fSThomas Monjalon- **layers**: 1036b919b0fSThomas Monjalon [ethernet] (@ref rte_ether.h), 1042b3f27eeSThomas Monjalon [ARP] (@ref rte_arp.h), 1052b3f27eeSThomas Monjalon [ICMP] (@ref rte_icmp.h), 106d4b684f7SBoris Pismenny [ESP] (@ref rte_esp.h), 1076b919b0fSThomas Monjalon [IP] (@ref rte_ip.h), 1086b919b0fSThomas Monjalon [SCTP] (@ref rte_sctp.h), 1096b919b0fSThomas Monjalon [TCP] (@ref rte_tcp.h), 1106b919b0fSThomas Monjalon [UDP] (@ref rte_udp.h), 111e996506aSJiayu Hu [GRO] (@ref rte_gro.h), 112ec51443cSJiayu Hu [GSO] (@ref rte_gso.h), 1136b919b0fSThomas Monjalon [frag/reass] (@ref rte_ip_frag.h), 1142b3f27eeSThomas Monjalon [LPM IPv4 route] (@ref rte_lpm.h), 115a266b313SThomas Monjalon [LPM IPv6 route] (@ref rte_lpm6.h) 1166b919b0fSThomas Monjalon 1176b919b0fSThomas Monjalon- **QoS**: 1186b919b0fSThomas Monjalon [metering] (@ref rte_meter.h), 1196b919b0fSThomas Monjalon [scheduler] (@ref rte_sched.h), 1206b919b0fSThomas Monjalon [RED congestion] (@ref rte_red.h) 1216b919b0fSThomas Monjalon 1226b919b0fSThomas Monjalon- **hashes**: 1236b919b0fSThomas Monjalon [hash] (@ref rte_hash.h), 1246b919b0fSThomas Monjalon [jhash] (@ref rte_jhash.h), 1252b3f27eeSThomas Monjalon [thash] (@ref rte_thash.h), 1266b919b0fSThomas Monjalon [FBK hash] (@ref rte_fbk_hash.h), 127a266b313SThomas Monjalon [CRC hash] (@ref rte_hash_crc.h) 128e8009a07SThomas Monjalon 129e8009a07SThomas Monjalon- **classification** 130e8009a07SThomas Monjalon [reorder] (@ref rte_reorder.h), 131e8009a07SThomas Monjalon [distributor] (@ref rte_distributor.h), 132e8009a07SThomas Monjalon [EFD] (@ref rte_efd.h), 133e8009a07SThomas Monjalon [ACL] (@ref rte_acl.h), 134be41ac2aSFerruh Yigit [member] (@ref rte_member.h), 135be41ac2aSFerruh Yigit [flow classify] (@ref rte_flow_classify.h) 1366b919b0fSThomas Monjalon 1376b919b0fSThomas Monjalon- **containers**: 1386b919b0fSThomas Monjalon [mbuf] (@ref rte_mbuf.h), 1396b919b0fSThomas Monjalon [ring] (@ref rte_ring.h), 1406b919b0fSThomas Monjalon [tailq] (@ref rte_tailq.h), 141a266b313SThomas Monjalon [bitmap] (@ref rte_bitmap.h) 1426b919b0fSThomas Monjalon 1436b919b0fSThomas Monjalon- **packet framework**: 1446b919b0fSThomas Monjalon * [port] (@ref rte_port.h): 1456b919b0fSThomas Monjalon [ethdev] (@ref rte_port_ethdev.h), 1466b919b0fSThomas Monjalon [ring] (@ref rte_port_ring.h), 1476b919b0fSThomas Monjalon [frag] (@ref rte_port_frag.h), 1486b919b0fSThomas Monjalon [reass] (@ref rte_port_ras.h), 1496b919b0fSThomas Monjalon [sched] (@ref rte_port_sched.h), 1509fc37d1cSWeiJie Zhuang [kni] (@ref rte_port_kni.h), 1516b919b0fSThomas Monjalon [src/sink] (@ref rte_port_source_sink.h) 1526b919b0fSThomas Monjalon * [table] (@ref rte_table.h): 1536b919b0fSThomas Monjalon [lpm IPv4] (@ref rte_table_lpm.h), 1546b919b0fSThomas Monjalon [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 1556b919b0fSThomas Monjalon [ACL] (@ref rte_table_acl.h), 1566b919b0fSThomas Monjalon [hash] (@ref rte_table_hash.h), 1576b919b0fSThomas Monjalon [array] (@ref rte_table_array.h), 1586b919b0fSThomas Monjalon [stub] (@ref rte_table_stub.h) 1596b919b0fSThomas Monjalon * [pipeline] (@ref rte_pipeline.h) 1606b919b0fSThomas Monjalon 1616b919b0fSThomas Monjalon- **basic**: 1626b919b0fSThomas Monjalon [approx fraction] (@ref rte_approx.h), 1636b919b0fSThomas Monjalon [random] (@ref rte_random.h), 1642b3f27eeSThomas Monjalon [config file] (@ref rte_cfgfile.h), 1656b919b0fSThomas Monjalon [key/value args] (@ref rte_kvargs.h), 1666b919b0fSThomas Monjalon [string] (@ref rte_string_fns.h) 1676b919b0fSThomas Monjalon 1686b919b0fSThomas Monjalon- **debug**: 1692b3f27eeSThomas Monjalon [jobstats] (@ref rte_jobstats.h), 1706d059e99SReshma Pattan [pdump] (@ref rte_pdump.h), 1712b3f27eeSThomas Monjalon [hexdump] (@ref rte_hexdump.h), 1726b919b0fSThomas Monjalon [debug] (@ref rte_debug.h), 1736b919b0fSThomas Monjalon [log] (@ref rte_log.h), 1746b919b0fSThomas Monjalon [errno] (@ref rte_errno.h) 1756b919b0fSThomas Monjalon 1766b919b0fSThomas Monjalon- **misc**: 1776b919b0fSThomas Monjalon [EAL config] (@ref rte_eal.h), 1786b919b0fSThomas Monjalon [common] (@ref rte_common.h), 1792b3f27eeSThomas Monjalon [ABI compat] (@ref rte_compat.h), 1806b919b0fSThomas Monjalon [version] (@ref rte_version.h) 181