diff options
Diffstat (limited to 'doc/api')
-rw-r--r-- | doc/api/doxy-api-index.md | 151 | ||||
-rw-r--r-- | doc/api/doxy-api.conf | 90 | ||||
-rwxr-xr-x | doc/api/doxy-html-custom.sh | 36 | ||||
-rw-r--r-- | doc/api/examples.dox | 113 |
4 files changed, 390 insertions, 0 deletions
diff --git a/doc/api/doxy-api-index.md b/doc/api/doxy-api-index.md new file mode 100644 index 00000000..f6263867 --- /dev/null +++ b/doc/api/doxy-api-index.md @@ -0,0 +1,151 @@ +API {#index} +=== + +<!-- + BSD LICENSE + + Copyright 2013 6WIND S.A. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of 6WIND S.A. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +There are many libraries, so their headers may be grouped by topics: + +- **device**: + [dev] (@ref rte_dev.h), + [ethdev] (@ref rte_ethdev.h), + [ethctrl] (@ref rte_eth_ctrl.h), + [cryptodev] (@ref rte_cryptodev.h), + [devargs] (@ref rte_devargs.h), + [bond] (@ref rte_eth_bond.h), + [vhost] (@ref rte_virtio_net.h), + [KNI] (@ref rte_kni.h), + [PCI] (@ref rte_pci.h), + [PCI IDs] (@ref rte_pci_dev_ids.h) + +- **memory**: + [memseg] (@ref rte_memory.h), + [memzone] (@ref rte_memzone.h), + [mempool] (@ref rte_mempool.h), + [malloc] (@ref rte_malloc.h), + [memcpy] (@ref rte_memcpy.h) + +- **timers**: + [cycles] (@ref rte_cycles.h), + [timer] (@ref rte_timer.h), + [alarm] (@ref rte_alarm.h) + +- **locks**: + [atomic] (@ref rte_atomic.h), + [rwlock] (@ref rte_rwlock.h), + [spinlock] (@ref rte_spinlock.h) + +- **CPU arch**: + [branch prediction] (@ref rte_branch_prediction.h), + [cache prefetch] (@ref rte_prefetch.h), + [byte order] (@ref rte_byteorder.h), + [CPU flags] (@ref rte_cpuflags.h) + +- **CPU multicore**: + [interrupts] (@ref rte_interrupts.h), + [launch] (@ref rte_launch.h), + [lcore] (@ref rte_lcore.h), + [per-lcore] (@ref rte_per_lcore.h), + [power/freq] (@ref rte_power.h) + +- **layers**: + [ethernet] (@ref rte_ether.h), + [ARP] (@ref rte_arp.h), + [ICMP] (@ref rte_icmp.h), + [IP] (@ref rte_ip.h), + [SCTP] (@ref rte_sctp.h), + [TCP] (@ref rte_tcp.h), + [UDP] (@ref rte_udp.h), + [frag/reass] (@ref rte_ip_frag.h), + [LPM IPv4 route] (@ref rte_lpm.h), + [LPM IPv6 route] (@ref rte_lpm6.h), + [ACL] (@ref rte_acl.h) + +- **QoS**: + [metering] (@ref rte_meter.h), + [scheduler] (@ref rte_sched.h), + [RED congestion] (@ref rte_red.h) + +- **hashes**: + [hash] (@ref rte_hash.h), + [jhash] (@ref rte_jhash.h), + [thash] (@ref rte_thash.h), + [FBK hash] (@ref rte_fbk_hash.h), + [CRC hash] (@ref rte_hash_crc.h) + +- **containers**: + [mbuf] (@ref rte_mbuf.h), + [ring] (@ref rte_ring.h), + [distributor] (@ref rte_distributor.h), + [reorder] (@ref rte_reorder.h), + [tailq] (@ref rte_tailq.h), + [bitmap] (@ref rte_bitmap.h), + [ivshmem] (@ref rte_ivshmem.h) + +- **packet framework**: + * [port] (@ref rte_port.h): + [ethdev] (@ref rte_port_ethdev.h), + [ring] (@ref rte_port_ring.h), + [frag] (@ref rte_port_frag.h), + [reass] (@ref rte_port_ras.h), + [sched] (@ref rte_port_sched.h), + [src/sink] (@ref rte_port_source_sink.h) + * [table] (@ref rte_table.h): + [lpm IPv4] (@ref rte_table_lpm.h), + [lpm IPv6] (@ref rte_table_lpm_ipv6.h), + [ACL] (@ref rte_table_acl.h), + [hash] (@ref rte_table_hash.h), + [array] (@ref rte_table_array.h), + [stub] (@ref rte_table_stub.h) + * [pipeline] (@ref rte_pipeline.h) + +- **basic**: + [approx fraction] (@ref rte_approx.h), + [random] (@ref rte_random.h), + [config file] (@ref rte_cfgfile.h), + [key/value args] (@ref rte_kvargs.h), + [string] (@ref rte_string_fns.h) + +- **debug**: + [jobstats] (@ref rte_jobstats.h), + [hexdump] (@ref rte_hexdump.h), + [debug] (@ref rte_debug.h), + [log] (@ref rte_log.h), + [warnings] (@ref rte_warnings.h), + [errno] (@ref rte_errno.h) + +- **misc**: + [EAL config] (@ref rte_eal.h), + [common] (@ref rte_common.h), + [ABI compat] (@ref rte_compat.h), + [keepalive] (@ref rte_keepalive.h), + [version] (@ref rte_version.h) diff --git a/doc/api/doxy-api.conf b/doc/api/doxy-api.conf new file mode 100644 index 00000000..af5d6dd4 --- /dev/null +++ b/doc/api/doxy-api.conf @@ -0,0 +1,90 @@ +# BSD LICENSE +# +# Copyright 2013 6WIND S.A. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of 6WIND S.A. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PROJECT_NAME = DPDK +INPUT = doc/api/doxy-api-index.md \ + doc/api/examples.dox \ + drivers/net/bonding \ + lib/librte_eal/common/include \ + lib/librte_eal/common/include/generic \ + lib/librte_acl \ + lib/librte_cfgfile \ + lib/librte_cmdline \ + lib/librte_compat \ + lib/librte_cryptodev \ + lib/librte_distributor \ + lib/librte_ether \ + lib/librte_hash \ + lib/librte_ip_frag \ + lib/librte_ivshmem \ + lib/librte_jobstats \ + lib/librte_kni \ + lib/librte_kvargs \ + lib/librte_lpm \ + lib/librte_mbuf \ + lib/librte_mempool \ + lib/librte_meter \ + lib/librte_net \ + lib/librte_pipeline \ + lib/librte_port \ + lib/librte_power \ + lib/librte_reorder \ + lib/librte_ring \ + lib/librte_sched \ + lib/librte_table \ + lib/librte_timer \ + lib/librte_vhost +FILE_PATTERNS = rte_*.h \ + cmdline.h +PREDEFINED = __DOXYGEN__ \ + __attribute__(x)= + +OPTIMIZE_OUTPUT_FOR_C = YES +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = YES +EXPAND_ONLY_PREDEF = YES +EXTRACT_STATIC = YES +DISTRIBUTE_GROUP_DOC = YES +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_SCOPE_NAMES = YES +GENERATE_DEPRECATEDLIST = NO +VERBATIM_HEADERS = NO +ALPHABETICAL_INDEX = NO + +HTML_TIMESTAMP = NO +HTML_DYNAMIC_SECTIONS = YES +SEARCHENGINE = NO +SORT_MEMBER_DOCS = NO +SOURCE_BROWSER = YES + +EXAMPLE_PATH = examples +EXAMPLE_PATTERNS = *.c +EXAMPLE_RECURSIVE = YES diff --git a/doc/api/doxy-html-custom.sh b/doc/api/doxy-html-custom.sh new file mode 100755 index 00000000..e684a75a --- /dev/null +++ b/doc/api/doxy-html-custom.sh @@ -0,0 +1,36 @@ +#! /bin/sh -e + +# BSD LICENSE +# +# Copyright 2013 6WIND S.A. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# * Neither the name of 6WIND S.A. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +CSS=$1 + +# space between item and its comment +echo 'dd td:first-child {padding-right: 2em;}' >> $CSS diff --git a/doc/api/examples.dox b/doc/api/examples.dox new file mode 100644 index 00000000..200af0b0 --- /dev/null +++ b/doc/api/examples.dox @@ -0,0 +1,113 @@ +/** +@page examples DPDK Example Programs + +@example bond/main.c +@example cmdline/commands.c +@example cmdline/main.c +@example cmdline/parse_obj_list.c +@example distributor/main.c +@example dpdk_qat/crypto.c +@example dpdk_qat/main.c +@example ethtool/ethtool-app/ethapp.c +@example ethtool/ethtool-app/main.c +@example ethtool/lib/rte_ethtool.c +@example exception_path/main.c +@example helloworld/main.c +@example ip_fragmentation/main.c +@example ip_pipeline/config_check.c +@example ip_pipeline/config_parse.c +@example ip_pipeline/config_parse_tm.c +@example ip_pipeline/cpu_core_map.c +@example ip_pipeline/init.c +@example ip_pipeline/main.c +@example ip_pipeline/pipeline/pipeline_common_be.c +@example ip_pipeline/pipeline/pipeline_common_fe.c +@example ip_pipeline/pipeline/pipeline_firewall_be.c +@example ip_pipeline/pipeline/pipeline_firewall.c +@example ip_pipeline/pipeline/pipeline_flow_actions_be.c +@example ip_pipeline/pipeline/pipeline_flow_actions.c +@example ip_pipeline/pipeline/pipeline_flow_classification_be.c +@example ip_pipeline/pipeline/pipeline_flow_classification.c +@example ip_pipeline/pipeline/pipeline_master_be.c +@example ip_pipeline/pipeline/pipeline_master.c +@example ip_pipeline/pipeline/pipeline_passthrough_be.c +@example ip_pipeline/pipeline/pipeline_passthrough.c +@example ip_pipeline/pipeline/pipeline_routing_be.c +@example ip_pipeline/pipeline/pipeline_routing.c +@example ip_pipeline/thread.c +@example ip_pipeline/thread_fe.c +@example ip_reassembly/main.c +@example ipv4_multicast/main.c +@example kni/main.c +@example l2fwd-crypto/main.c +@example l2fwd-ivshmem/guest/guest.c +@example l2fwd-ivshmem/host/host.c +@example l2fwd-jobstats/main.c +@example l2fwd-keepalive/main.c +@example l2fwd/main.c +@example l3fwd-acl/main.c +@example l3fwd/main.c +@example l3fwd-power/main.c +@example l3fwd-vf/main.c +@example link_status_interrupt/main.c +@example load_balancer/config.c +@example load_balancer/init.c +@example load_balancer/main.c +@example load_balancer/runtime.c +@example multi_process/client_server_mp/mp_client/client.c +@example multi_process/client_server_mp/mp_server/args.c +@example multi_process/client_server_mp/mp_server/init.c +@example multi_process/client_server_mp/mp_server/main.c +@example multi_process/l2fwd_fork/flib.c +@example multi_process/l2fwd_fork/main.c +@example multi_process/simple_mp/main.c +@example multi_process/simple_mp/mp_commands.c +@example multi_process/symmetric_mp/main.c +@example netmap_compat/bridge/bridge.c +@example netmap_compat/lib/compat_netmap.c +@example packet_ordering/main.c +@example performance-thread/common/arch/x86/ctx.c +@example performance-thread/common/lthread.c +@example performance-thread/common/lthread_cond.c +@example performance-thread/common/lthread_diag.c +@example performance-thread/common/lthread_mutex.c +@example performance-thread/common/lthread_sched.c +@example performance-thread/common/lthread_tls.c +@example performance-thread/l3fwd-thread/main.c +@example performance-thread/pthread_shim/main.c +@example performance-thread/pthread_shim/pthread_shim.c +@example ptpclient/ptpclient.c +@example qos_meter/main.c +@example qos_meter/rte_policer.c +@example qos_sched/app_thread.c +@example qos_sched/args.c +@example qos_sched/cfg_file.c +@example qos_sched/cmdline.c +@example qos_sched/init.c +@example qos_sched/main.c +@example qos_sched/stats.c +@example quota_watermark/qw/args.c +@example quota_watermark/qwctl/commands.c +@example quota_watermark/qwctl/qwctl.c +@example quota_watermark/qw/init.c +@example quota_watermark/qw/main.c +@example rxtx_callbacks/main.c +@example skeleton/basicfwd.c +@example tep_termination/main.c +@example tep_termination/vxlan.c +@example tep_termination/vxlan_setup.c +@example timer/main.c +@example vhost/main.c +@example vhost_xen/main.c +@example vhost_xen/vhost_monitor.c +@example vhost_xen/xenstore_parse.c +@example vmdq_dcb/main.c +@example vmdq/main.c +@example vm_power_manager/channel_manager.c +@example vm_power_manager/channel_monitor.c +@example vm_power_manager/guest_cli/main.c +@example vm_power_manager/guest_cli/vm_power_cli_guest.c +@example vm_power_manager/main.c +@example vm_power_manager/power_manager.c +@example vm_power_manager/vm_power_cli.c +*/ |