From 994a44c4116dd8f5c3d5270f8772f5b860e368bd Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Wed, 17 Jun 2020 08:41:22 -0400 Subject: docs: add more FEATURE.yaml documentation This patch documents the DNS plugin, vlib packet tracing, vnet feature arcs, and the vppinfra library. Type: docs Signed-off-by: Dave Barach Change-Id: Idb16ec0593d428ce78fe8404374a823a56b4b420 --- src/plugins/dns/FEATURE.yaml | 18 ++++++++++++++ src/vlib/FEATURE_trace.yaml | 14 +++++++++++ src/vnet/feature/FEATURE.yaml | 15 ++++++++++++ src/vppinfra/FEATURE.yaml | 57 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 src/plugins/dns/FEATURE.yaml create mode 100644 src/vlib/FEATURE_trace.yaml create mode 100644 src/vnet/feature/FEATURE.yaml create mode 100644 src/vppinfra/FEATURE.yaml diff --git a/src/plugins/dns/FEATURE.yaml b/src/plugins/dns/FEATURE.yaml new file mode 100644 index 00000000000..f643f8f3a86 --- /dev/null +++ b/src/plugins/dns/FEATURE.yaml @@ -0,0 +1,18 @@ +--- +name: Caching DNS name resolver +maintainer: Dave Barach +features: + - Cache A and AAAA records from an upstream ipv4 DNS server + - Respond to ipv4 and ipv6 name resolution requests + - Supports cache sizes up to 64K concurrent entries + - Supports CNAME indirection + - Static cache entry creation, suitable for redirecting specific names + - Round robin upstream name lookups + - Binary API name lookup support + - Missing ipv6 upstream server support + - Perf/scale suitable for SOHO devices or other light-duty apps +description: "A caching DNS name resolver suitable for optimizing + name resolution performance, and for overriding + gethostbyname() in an LD_PRELOAD library." +state: development +properties: [API, CLI, MULTITHREAD] diff --git a/src/vlib/FEATURE_trace.yaml b/src/vlib/FEATURE_trace.yaml new file mode 100644 index 00000000000..4d36cd33337 --- /dev/null +++ b/src/vlib/FEATURE_trace.yaml @@ -0,0 +1,14 @@ +--- +name: Packet Tracer +maintainer: Dave Barach +features: + - pcap rx/tx/drop packet tracing + - vpp native (ascii) packet tracing + - graph dispatch engine pcap tracing + - classifier-based packet trace selection + - Per-interface packet trace selection +description: "Support for various kinds of packet trace and captures. + Very useful for understanding and replaying traffic + for debugging purposes." +state: production +properties: [API, CLI, MULTITHREAD] diff --git a/src/vnet/feature/FEATURE.yaml b/src/vnet/feature/FEATURE.yaml new file mode 100644 index 00000000000..b7964df90d4 --- /dev/null +++ b/src/vnet/feature/FEATURE.yaml @@ -0,0 +1,15 @@ +--- +name: Feature Arc Support +maintainer: + - Dave Barach +features: + - Feature arc registration + - Feature registration + - Flexible feature order constraint specification + - High-performance internal APIs to dispatch packets to the next feature node + - Topological feature sorting +description: "Constraint-based feature arc configuration, internal + APIs to dispatch packets to the next configured feature. + A fundamental vpp forwarding graph extension mechanism." +state: production +properties: [API, CLI, MULTITHREAD] diff --git a/src/vppinfra/FEATURE.yaml b/src/vppinfra/FEATURE.yaml new file mode 100644 index 00000000000..b21963bdacf --- /dev/null +++ b/src/vppinfra/FEATURE.yaml @@ -0,0 +1,57 @@ +--- +name: VPP infrastructure library +maintainer: + - Dave Barach +features: + - Abstract device driver ring support + - Address sanitizer support + - Altivec, Neon, MMX, AVX2, AVX512 SIMD vector unit support + - Atomic op support + - Backtrace support + - Bitmaps + - Bounded-index extensible hashing templates + - C11 safe-string support + - Cache control primitives, including prefetching + - C-dynamic arrays (vectors) + - Circular doubly-linked list support with a head sentinel + - Contiguous N x fixed block allocator + - CPU clock based timebase support + - Doubly-linked list support + - ELF file parser + - Endian-order support + - Error return / reporting support + - FIFO support + - Fundamental types, u8, u16, u32, and so on + - High-performance event logger + - High-performance memcpy support + - High-performance mmap-based circular log support + - High-performance timer-wheel templates + - Linux socket support + - Linux sysfs file parsing support + - Low-level CPU support + - Mapped pcap file support + - Memory allocator, "Doug Lea" malloc with a few tweaks + - Minimal overhead Linux system-call support + - Multi-architecture setjmp / longjmp support + - Numerous Unit tests + - Physical memory allocator support + - Pools, a high performance fixed block allocation scheme + - Red/black trees. + - Rigorously vetted linear congruential random numbers (32 and 64 bit) + - Serialization / unserialization support + - SHA256, SHA512 support + - Simple first-fit virtual space allocator + - Simple hashing support + - Simple macro expander + - Sparse vector support + - Spinlock support + - Time Range support + - Unix / Linux errno support + - Vector-based printf / scanf equivalents (format, unformat) + - Warshall's algorithm (positive transitive closure of a relation) + - XXhash support +description: "VPP's foundation / infrastructure support library. + The library dates from 2000 and hardly changes anymore. + Heavily used across vpp, issues are not expected." +state: production +properties: [MULTITHREAD] -- cgit 1.2.3-korg