1*6b919b0fSThomas MonjalonAPI {#index} 2*6b919b0fSThomas Monjalon=== 3*6b919b0fSThomas Monjalon 4*6b919b0fSThomas Monjalon<!-- 5*6b919b0fSThomas Monjalon BSD LICENSE 6*6b919b0fSThomas Monjalon 7*6b919b0fSThomas Monjalon Copyright 2013 6WIND S.A. 8*6b919b0fSThomas Monjalon 9*6b919b0fSThomas Monjalon Redistribution and use in source and binary forms, with or without 10*6b919b0fSThomas Monjalon modification, are permitted provided that the following conditions 11*6b919b0fSThomas Monjalon are met: 12*6b919b0fSThomas Monjalon 13*6b919b0fSThomas Monjalon * Redistributions of source code must retain the above copyright 14*6b919b0fSThomas Monjalon notice, this list of conditions and the following disclaimer. 15*6b919b0fSThomas Monjalon * Redistributions in binary form must reproduce the above copyright 16*6b919b0fSThomas Monjalon notice, this list of conditions and the following disclaimer in 17*6b919b0fSThomas Monjalon the documentation and/or other materials provided with the 18*6b919b0fSThomas Monjalon distribution. 19*6b919b0fSThomas Monjalon * Neither the name of 6WIND S.A. nor the names of its 20*6b919b0fSThomas Monjalon contributors may be used to endorse or promote products derived 21*6b919b0fSThomas Monjalon from this software without specific prior written permission. 22*6b919b0fSThomas Monjalon 23*6b919b0fSThomas Monjalon THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 24*6b919b0fSThomas Monjalon "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 25*6b919b0fSThomas Monjalon LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 26*6b919b0fSThomas Monjalon A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 27*6b919b0fSThomas Monjalon OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 28*6b919b0fSThomas Monjalon SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 29*6b919b0fSThomas Monjalon LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 30*6b919b0fSThomas Monjalon DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 31*6b919b0fSThomas Monjalon THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 32*6b919b0fSThomas Monjalon (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33*6b919b0fSThomas Monjalon OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34*6b919b0fSThomas Monjalon--> 35*6b919b0fSThomas Monjalon 36*6b919b0fSThomas MonjalonThere are many libraries, so their headers may be grouped by topics: 37*6b919b0fSThomas Monjalon 38*6b919b0fSThomas Monjalon- **device**: 39*6b919b0fSThomas Monjalon [ethdev] (@ref rte_ethdev.h), 40*6b919b0fSThomas Monjalon [devargs] (@ref rte_devargs.h), 41*6b919b0fSThomas Monjalon [bond] (@ref rte_eth_bond.h), 42*6b919b0fSThomas Monjalon [vhost] (@ref rte_virtio_net.h), 43*6b919b0fSThomas Monjalon [KNI] (@ref rte_kni.h), 44*6b919b0fSThomas Monjalon [PCI] (@ref rte_pci.h), 45*6b919b0fSThomas Monjalon [PCI IDs] (@ref rte_pci_dev_ids.h) 46*6b919b0fSThomas Monjalon 47*6b919b0fSThomas Monjalon- **memory**: 48*6b919b0fSThomas Monjalon [memseg] (@ref rte_memory.h), 49*6b919b0fSThomas Monjalon [memzone] (@ref rte_memzone.h), 50*6b919b0fSThomas Monjalon [mempool] (@ref rte_mempool.h), 51*6b919b0fSThomas Monjalon [malloc] (@ref rte_malloc.h), 52*6b919b0fSThomas Monjalon [memcpy] (@ref rte_memcpy.h) 53*6b919b0fSThomas Monjalon 54*6b919b0fSThomas Monjalon- **timers**: 55*6b919b0fSThomas Monjalon [cycles] (@ref rte_cycles.h), 56*6b919b0fSThomas Monjalon [timer] (@ref rte_timer.h), 57*6b919b0fSThomas Monjalon [alarm] (@ref rte_alarm.h) 58*6b919b0fSThomas Monjalon 59*6b919b0fSThomas Monjalon- **locks**: 60*6b919b0fSThomas Monjalon [atomic] (@ref rte_atomic.h), 61*6b919b0fSThomas Monjalon [rwlock] (@ref rte_rwlock.h), 62*6b919b0fSThomas Monjalon [spinlock] (@ref rte_spinlock.h) 63*6b919b0fSThomas Monjalon 64*6b919b0fSThomas Monjalon- **CPU arch**: 65*6b919b0fSThomas Monjalon [branch prediction] (@ref rte_branch_prediction.h), 66*6b919b0fSThomas Monjalon [cache prefetch] (@ref rte_prefetch.h), 67*6b919b0fSThomas Monjalon [byte order] (@ref rte_byteorder.h), 68*6b919b0fSThomas Monjalon [CPU flags] (@ref rte_cpuflags.h) 69*6b919b0fSThomas Monjalon 70*6b919b0fSThomas Monjalon- **CPU multicore**: 71*6b919b0fSThomas Monjalon [interrupts] (@ref rte_interrupts.h), 72*6b919b0fSThomas Monjalon [launch] (@ref rte_launch.h), 73*6b919b0fSThomas Monjalon [lcore] (@ref rte_lcore.h), 74*6b919b0fSThomas Monjalon [per-lcore] (@ref rte_per_lcore.h), 75*6b919b0fSThomas Monjalon [power/freq] (@ref rte_power.h) 76*6b919b0fSThomas Monjalon 77*6b919b0fSThomas Monjalon- **layers**: 78*6b919b0fSThomas Monjalon [ethernet] (@ref rte_ether.h), 79*6b919b0fSThomas Monjalon [IP] (@ref rte_ip.h), 80*6b919b0fSThomas Monjalon [SCTP] (@ref rte_sctp.h), 81*6b919b0fSThomas Monjalon [TCP] (@ref rte_tcp.h), 82*6b919b0fSThomas Monjalon [UDP] (@ref rte_udp.h), 83*6b919b0fSThomas Monjalon [frag/reass] (@ref rte_ip_frag.h), 84*6b919b0fSThomas Monjalon [LPM route] (@ref rte_lpm.h), 85*6b919b0fSThomas Monjalon [ACL] (@ref rte_acl.h) 86*6b919b0fSThomas Monjalon 87*6b919b0fSThomas Monjalon- **QoS**: 88*6b919b0fSThomas Monjalon [metering] (@ref rte_meter.h), 89*6b919b0fSThomas Monjalon [scheduler] (@ref rte_sched.h), 90*6b919b0fSThomas Monjalon [RED congestion] (@ref rte_red.h) 91*6b919b0fSThomas Monjalon 92*6b919b0fSThomas Monjalon- **hashes**: 93*6b919b0fSThomas Monjalon [hash] (@ref rte_hash.h), 94*6b919b0fSThomas Monjalon [jhash] (@ref rte_jhash.h), 95*6b919b0fSThomas Monjalon [FBK hash] (@ref rte_fbk_hash.h), 96*6b919b0fSThomas Monjalon [CRC hash] (@ref rte_hash_crc.h) 97*6b919b0fSThomas Monjalon 98*6b919b0fSThomas Monjalon- **containers**: 99*6b919b0fSThomas Monjalon [mbuf] (@ref rte_mbuf.h), 100*6b919b0fSThomas Monjalon [ring] (@ref rte_ring.h), 101*6b919b0fSThomas Monjalon [distributor] (@ref rte_distributor.h), 102*6b919b0fSThomas Monjalon [tailq] (@ref rte_tailq.h), 103*6b919b0fSThomas Monjalon [bitmap] (@ref rte_bitmap.h) 104*6b919b0fSThomas Monjalon 105*6b919b0fSThomas Monjalon- **packet framework**: 106*6b919b0fSThomas Monjalon * [port] (@ref rte_port.h): 107*6b919b0fSThomas Monjalon [ethdev] (@ref rte_port_ethdev.h), 108*6b919b0fSThomas Monjalon [ring] (@ref rte_port_ring.h), 109*6b919b0fSThomas Monjalon [frag] (@ref rte_port_frag.h), 110*6b919b0fSThomas Monjalon [reass] (@ref rte_port_ras.h), 111*6b919b0fSThomas Monjalon [sched] (@ref rte_port_sched.h), 112*6b919b0fSThomas Monjalon [src/sink] (@ref rte_port_source_sink.h) 113*6b919b0fSThomas Monjalon * [table] (@ref rte_table.h): 114*6b919b0fSThomas Monjalon [lpm IPv4] (@ref rte_table_lpm.h), 115*6b919b0fSThomas Monjalon [lpm IPv6] (@ref rte_table_lpm_ipv6.h), 116*6b919b0fSThomas Monjalon [ACL] (@ref rte_table_acl.h), 117*6b919b0fSThomas Monjalon [hash] (@ref rte_table_hash.h), 118*6b919b0fSThomas Monjalon [array] (@ref rte_table_array.h), 119*6b919b0fSThomas Monjalon [stub] (@ref rte_table_stub.h) 120*6b919b0fSThomas Monjalon * [pipeline] (@ref rte_pipeline.h) 121*6b919b0fSThomas Monjalon 122*6b919b0fSThomas Monjalon- **basic**: 123*6b919b0fSThomas Monjalon [approx fraction] (@ref rte_approx.h), 124*6b919b0fSThomas Monjalon [random] (@ref rte_random.h), 125*6b919b0fSThomas Monjalon [key/value args] (@ref rte_kvargs.h), 126*6b919b0fSThomas Monjalon [string] (@ref rte_string_fns.h) 127*6b919b0fSThomas Monjalon 128*6b919b0fSThomas Monjalon- **debug**: 129*6b919b0fSThomas Monjalon [debug] (@ref rte_debug.h), 130*6b919b0fSThomas Monjalon [log] (@ref rte_log.h), 131*6b919b0fSThomas Monjalon [warnings] (@ref rte_warnings.h), 132*6b919b0fSThomas Monjalon [errno] (@ref rte_errno.h) 133*6b919b0fSThomas Monjalon 134*6b919b0fSThomas Monjalon- **misc**: 135*6b919b0fSThomas Monjalon [EAL config] (@ref rte_eal.h), 136*6b919b0fSThomas Monjalon [common] (@ref rte_common.h), 137*6b919b0fSThomas Monjalon [version] (@ref rte_version.h) 138