+default data-size number
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Size of buffer data area, default is 2048
+
+.. code-block:: console
+
+ default data-size 2048
+
+page-size number
+^^^^^^^^^^^^^^^^
+
+Set the page size for buffer allocation
+
+.. code-block:: console
+
+ page-size 4K
+ page-size 2M
+ page-size 1G
+ page-size default
+ page-size default-hugepage
+
+
+The dpdk Section
+----------------
+
+.. code-block:: console
+
+ dpdk {
+ dev default {
+ num-rx-desc 512
+ num-tx-desc 512
+ }
+
+ dev 0000:02:00.1 {
+ num-rx-queues 2
+ name eth0
+ }
+ }
+
+dev <pci-dev> | default { .. }
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+White-list [as in, attempt to drive] a specific PCI device. PCI-dev is a
+string of the form "DDDD:BB:SS.F" where:
+
+* DDDD = Domain
+* BB = Bus Number
+* SS = Slot number
+* F = Function
+
+If the keyword **default** is used the values will apply to all the devices.
+
+This is the same format used in the linux sysfs tree (i.e./sys/bus/pci/devices)
+for PCI device directory names.
+
+.. code-block:: console
+
+ dpdk {
+ dev default {
+ num-rx-desc 512
+ num-tx-desc 512
+ }
+
+dev <pci-dev> { .. }
+^^^^^^^^^^^^^^^^^^^^
+
+Whitelist specific interface by specifying PCI address. When whitelisting specific
+interfaces by specifying PCI address, additional custom parameters can also be
+specified. Valid options include:
+
+.. code-block:: console
+
+ dev 0000:02:00.0
+ dev 0000:03:00.0
+
+blacklist <pci-dev>
+^^^^^^^^^^^^^^^^^^^
+
+Blacklist specific device type by specifying PCI vendor:device Whitelist entries
+take precedence
+
+.. code-block:: console
+
+ blacklist 8086:10fb
+
+name interface-name
+^^^^^^^^^^^^^^^^^^^
+
+Set interface name
+
+.. code-block:: console
+
+ dev 0000:02:00.1 {
+ name eth0
+ }
+
+num-rx-queues <n>
+^^^^^^^^^^^^^^^^^
+
+Number of receive queues. Also enables RSS. Default value is 1.
+
+.. code-block:: console
+
+ dev 0000:02:00.1 {
+ num-rx-queues <n>
+ }
+
+num-tx-queues <n>
+^^^^^^^^^^^^^^^^^
+
+Number of transmit queues. Default is equal to number of worker threads
+or 1 if no workers treads.
+
+.. code-block:: console
+
+ dev 000:02:00.1 {
+ num-tx-queues <n>
+ }
+
+num-rx-desc <n>
+^^^^^^^^^^^^^^^
+
+Number of descriptors in receive ring. Increasing or reducing number
+can impact performance. Default is 1024.
+
+.. code-block:: console
+
+ dev 000:02:00.1 {
+ num-rx-desc <n>
+ }
+
+vlan-strip-offload on | off
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+VLAN strip offload mode for interface. VLAN stripping is off by default
+for all NICs except VICs, using ENIC driver, which has VLAN stripping on
+by default.
+
+.. code-block:: console
+
+ dev 000:02:00.1 {
+ vlan-strip-offload on|off
+ }
+
+uio-driver driver-name
+^^^^^^^^^^^^^^^^^^^^^^
+
+Change UIO driver used by VPP, Options are: igb_uio, vfio-pci, uio_pci_generic
+or auto (default)
+
+
+.. code-block:: console
+
+ uio-driver vfio-pci
+
+no-multi-seg
+^^^^^^^^^^^^
+
+Disable multi-segment buffers, improves performance but disables Jumbo MTU support
+
+.. code-block:: console
+
+ no-multi-seg
+
+socket-mem <n>
+^^^^^^^^^^^^^^
+
+Change hugepages allocation per-socket, needed only if there is need for
+larger number of mbufs. Default is 256M on each detected CPU socket
+
+.. code-block:: console
+
+ socket-mem 2048,2048
+
+no-tx-checksum-offload
+^^^^^^^^^^^^^^^^^^^^^^
+
+Disables UDP / TCP TX checksum offload. Typically needed for use faster
+vector PMDs (together with no-multi-seg)
+
+.. code-block:: console
+
+ no-tx-checksum-offload
+
+enable-tcp-udp-checksum
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Enable UDP / TCP TX checksum offload This is the reversed option of
+'no-tx-checksum-offload'
+
+.. code-block:: console
+
+ enable-tcp-udp-checksum
+
+The plugins Section
+-------------------
+
+Configure VPP plugins.
+
+.. code-block:: console
+
+ plugins {
+ path /ws/vpp/build-root/install-vpp-native/vpp/lib/vpp_plugins
+ plugin dpdk_plugin.so enable
+ }
+
+path pathname
+^^^^^^^^^^^^^
+
+Adjust the plugin path depending on where the VPP plugins are.
+
+.. code-block:: console
+
+ path /ws/vpp/build-root/install-vpp-native/vpp/lib/vpp_plugins
+
+plugin plugin-name | default enable | disable
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Disable all plugins by default and then selectively enable specific plugins
+
+.. code-block:: console
+
+ plugin default disable
+ plugin dpdk_plugin.so enable
+ plugin acl_plugin.so enable
+
+Enable all plugins by default and then selectively disable specific plugins
+
+.. code-block:: console
+
+ plugin dpdk_plugin.so disable
+ plugin acl_plugin.so disable
+
+Th statseg Section
+^^^^^^^^^^^^^^^^^^
+
+.. code-block:: console
+
+ statseg {
+ per-node-counters on
+ }
+
+socket-name <filename>
+^^^^^^^^^^^^^^^^^^^^^^
+
+Name of the stats segment socket defaults to /run/vpp/stats.sock.
+
+.. code-block:: console
+
+ socket-name /run/vpp/stats.sock
+
+size <nnn>[KMG]
+^^^^^^^^^^^^^^^
+
+The size of the stats segment, defaults to 32mb
+
+.. code-block:: console
+
+ size 1024M
+
+per-node-counters on | off
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Defaults to none
+
+.. code-block:: console
+
+ per-node-counters on
+
+update-interval <f64-seconds>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the segment scrape / update interval
+
+.. code-block:: console
+
+ update-interval 300
+
+
+Some Advanced Parameters:
+-------------------------
+
+
+acl-plugin Section
+------------------
+
+These parameters change the configuration of the ACL (access control list) plugin,
+such as how the ACL bi-hash tables are initialized.
+
+They should only be set by those that are familiar with the interworkings of VPP
+and the ACL Plugin.
+
+The first three parameters, *connection hash buckets*, *connection hash memory*,
+and *connection count max*, set the **connection table per-interface parameters**
+for modifying how the two bounded-index extensible hash tables for
+IPv6 (40\*8 bit key and 8\*8 bit value pairs) and IPv4
+(16\*8 bit key and 8\*8 bit value pairs) **ACL plugin FA interface sessions**
+are initialized.
+
+connection hash buckets <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of hash buckets (rounded up to a power of 2) in each
+of the two bi-hash tables. Defaults to 64\*1024 (65536) hash buckets.
+
+.. code-block:: console
+
+ connection hash buckets 65536
+
+connection hash memory <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the allocated memory size (in bytes) for each of the two bi-hash tables.
+Defaults to 1073741824 bytes.
+
+.. code-block:: console
+
+ connection hash memory 1073741824
+
+connection count max <n>
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the maximum number of pool elements when allocating each per-worker
+pool of sessions for both bi-hash tables. Defaults to 500000 elements in each pool.
+
+.. code-block:: console
+
+ connection count max 500000
+
+main heap size <n>G | <n>M | <n>K | <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the size of the main memory heap that holds all the ACL module related
+allocations (other than hash.) Default size is 0, but during
+ACL heap initialization is equal to
+*per_worker_size_with_slack * tm->n_vlib_mains + bihash_size + main_slack*.
+Note that these variables are partially based on the
+**connection table per-interface parameters** mentioned above.
+
+.. code-block:: console
+
+ main heap size 3G
+
+The next three parameters, *hash lookup heap size*, *hash lookup hash buckets*,
+and *hash lookup hash memory*, modify the initialization of the bi-hash lookup
+table used by the ACL plugin. This table is initialized when attempting to apply
+an ACL to the existing vector of ACLs looked up during packet processing
+(but it is found that the table does not exist / has not been initialized yet.)
+
+hash lookup heap size <n>G | <n>M | <n> K | <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the size of the memory heap that holds all the miscellaneous allocations
+related to hash-based lookups. Default size is 67108864 bytes.
+
+.. code-block:: console
+
+ hash lookup heap size 70M
+
+hash lookup hash buckets <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of hash buckets (rounded up to a power of 2) in the bi-hash
+lookup table. Defaults to 65536 hash buckets.
+
+.. code-block:: console
+
+ hash lookup hash buckets 65536
+
+hash lookup hash memory <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the allocated memory size (in bytes) for the bi-hash lookup table.
+Defaults to 67108864 bytes.
+
+.. code-block:: console
+
+ hash lookup hash memory 67108864
+
+use tuple merge <n>
+^^^^^^^^^^^^^^^^^^^
+
+Sets a boolean value indicating whether or not to use TupleMerge
+for hash ACL's. Defaults to 1 (true), meaning the default implementation
+of hashing ACL's does use TupleMerge.
+
+.. code-block:: console
+
+ use tuple merge 1
+
+tuple merge split threshold <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the maximum amount of rules (ACE's) that can collide in a bi-hash
+lookup table before the table is split into two new tables. Splitting ensures
+less rule collisions by hashing colliding rules based on their common tuple
+(usually their maximum common tuple.) Splitting occurs when the
+*length of the colliding rules vector* is greater than this threshold amount.
+Defaults to a maximum of 39 rule collisions per table.
+
+.. code-block:: console
+
+ tuple merge split threshold 30
+
+reclassify sessions <n>
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets a boolean value indicating whether or not to take the epoch of the session
+into account when dealing with re-applying ACL's or changing already applied ACL's.
+Defaults to 0 (false), meaning the default implementation does NOT take the
+epoch of the session into account.
+
+.. code-block:: console
+
+ reclassify sessions 1
+
+.. _api-queue:
+
+api-queue Section
+-----------------
+
+length <n>
+^^^^^^^^^^^
+
+Sets the api queue length. Minimum valid queue length is 1024, which is
+also the default.
+
+.. code-block:: console
+
+ length 2048
+
+.. _cj:
+
+cj Section
+----------
+
+The circular journal (CJ) thread-safe circular log buffer scheme is
+occasionally useful when chasing bugs. Calls to it should not be checked in.
+See .../vlib/vlib/unix/cj.c. The circular journal is disables by default.
+When enabled, the number of records must be provided, there is no default
+value.
+
+records <n>
+^^^^^^^^^^^
+
+Configure the number of circular journal records in the circular buffer.
+The number of records should be a power of 2.
+
+.. code-block:: console
+
+ records 131072
+
+on
+^^
+
+Turns on logging at the earliest possible moment.
+
+.. code-block:: console
+
+ on
+
+dns Section
+-----------
+
+max-cache-size <n>
+^^^^^^^^^^^^^^^^^^
+
+Set the maximum number of active elements allowed in the pool of
+dns cache entries. When resolving an expired entry or adding a new
+static entry and the max number of active entries is reached,
+a random, non-static entry is deleted. Defaults to 65535 entries.
+
+.. code-block:: console
+
+ max-cache-size 65535
+
+
+ethernet Section
+-----------------
+
+default-mtu <n>
+^^^^^^^^^^^^^^^
+
+Specifies the default MTU size for Ethernet interfaces. Must be in
+the range of 64-9000. The default is 9000.
+
+.. code-block:: console
+
+ default-mtu 1500
+
+heapsize Section
+-----------------
+
+Heapsize configuration controls the size of the main heap. The heap size is
+configured very early in the boot sequence, before loading plug-ins or doing
+much of anything else.
+
+heapsize <n>M | <n>G
+^^^^^^^^^^^^^^^^^^^^
+
+Specifies the size of the heap in MB or GB. The default is 1GB.
+
+.. code-block:: console
+
+ heapsize 2G
+
+ip Section
+----------
+
+IPv4 heap configuration. he heap size is configured very early in the boot
+sequence, before loading plug-ins or doing much of anything else.
+
+heap-size <n>G | <n>M | <n>K | <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set the IPv4 mtrie heap size, which is the amount of memory dedicated to
+the destination IP lookup table. The input value can be set in GB, MB, KB
+or bytes. The default value is 32MB.
+
+.. code-block:: console
+
+ heap-size 64M
+
+ip6 Section
+-----------
+
+IPv6 heap configuration. he heap size is configured very early in the boot
+sequence, before loading plug-ins or doing much of anything else.
+
+
+heap-size <n>G | <n>M | <n>K | <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set the IPv6 forwarding table heap size. The input value can be set in GB,
+MB, KB or bytes. The default value is 32MB.
+
+.. code-block:: console
+
+ heap-size 64M
+
+hash-buckets <n>
+^^^^^^^^^^^^^^^^
+
+Set the number of IPv6 forwarding table hash buckets. The default value is
+64K (65536).
+
+.. code-block:: console
+
+ hash-buckets 131072
+
+l2learn Section
+---------------
+
+Configure Layer 2 MAC Address learning parameters.
+
+limit <n>
+^^^^^^^^^
+
+Configures the number of L2 (MAC) addresses in the L2 FIB at any one time,
+which limits the size of the L2 FIB to <n> concurrent entries. Defaults to
+4M entries (4194304).
+
+.. code-block:: console
+
+ limit 8388608
+
+l2tp Section
+------------
+
+IPv6 Layer 2 Tunnelling Protocol Version 3 (IPv6-L2TPv3) configuration controls
+the method used to locate a specific IPv6-L2TPv3 tunnel. The following settings
+are mutually exclusive:
+
+lookup-v6-src
+^^^^^^^^^^^^^
+
+Lookup tunnel by IPv6 source address.
+
+.. code-block:: console
+
+ lookup-v6-src
+
+lookup-v6-dst
+^^^^^^^^^^^^^
+
+Lookup tunnel by IPv6 destination address.
+
+.. code-block:: console
+
+ lookup-v6-dst
+
+lookup-session-id
+^^^^^^^^^^^^^^^^^
+
+Lookup tunnel by L2TPv3 session identifier.
+
+.. code-block:: console
+
+ lookup-session-id
+
+logging Section
+---------------
+
+size <n>
+^^^^^^^^
+
+Number of entries in the global logging buffer. Defaults to 512.
+
+.. code-block:: console
+
+ size 512
+
+nthrottle-time <n>
+^^^^^^^^^^^^^^^^^^
+
+Set the global value for the time to wait (in seconds) before resuming
+logging of a log subclass that exceeded the per-subclass message-per-second
+threshold. Defaults to 3.
+
+.. code-block:: console
+
+ unthrottle-time 3
+
+default-log-level emerg|alert | crit | err | warn | notice | info | debug | disabled
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set the default logging level of the system log. Defaults to notice.
+
+.. code-block:: console
+
+ default-log-level notice
+
+default-syslog-log-level emerg|alert | crit | err | warn | notice | info | debug | disabled
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set the default logging level of the syslog target. Defaults to warning.
+
+.. code-block:: console
+
+ default-syslog-log-level warning
+
+mactime Section
+---------------
+
+lookup-table-buckets <n>
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of hash buckets in the mactime bi-hash lookup table.
+Defaults to 128 buckets.
+
+.. code-block:: console
+
+ lookup-table-buckets 128
+
+lookup-table-memory <n>G | <n>M | <n>K | <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the allocated memory size (in bytes) for the mactime bi-hash lookup table.
+The input value can be set in GB, MB, KB or bytes. The default value is 262144
+(256 << 10) bytes or roughly 256KB.
+
+.. code-block:: console
+
+ lookup-table-memory 300K
+
+timezone_offset <n>
+^^^^^^^^^^^^^^^^^^^
+
+Sets the timezone offset from UTC. Defaults to an offset of -5 hours
+from UTC (US EST / EDT.)
+
+.. code-block:: console
+
+ timezone_offset -5
+
+"map" Parameters
+----------------
+
+customer edge
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets a boolean true to indicate that the MAP node is a Customer Edge (CE)
+router. The boolean defaults to false, meaning the MAP node is not treated
+as a CE router.
+
+.. code-block:: console
+
+ customer edge
+
+nat Section
+-----------
+
+These parameters change the configuration of the NAT (Network address translation)
+plugin, such as how the NAT & NAT64 bi-hash tables are initialized, if the NAT is
+endpoint dependent, or if the NAT is deterministic.
+
+For each NAT per thread data, the following 4 parameters change how certain
+bi-hash tables are initialized.
+
+translation hash buckets <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of hash buckets in each of the two in/out NAT bi-hash lookup
+tables. Defaults to 1024 buckets.
+
+If the NAT is indicated to be endpoint dependent, which can be set with the
+:ref:`endpoint-dependent parameter <endpointLabel>`, then this parameter sets
+the number of hash buckets in each of the two endpoint dependent sessions
+NAT bi-hash lookup tables.
+
+.. code-block:: console
+
+ translation hash buckets 1024
+
+translation hash memory <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the allocated memory size (in bytes) for each of the two in/out NAT
+bi-hash tables. Defaults to 134217728 (128 << 20) bytes, which is roughly 128 MB.
+
+If the NAT is indicated to be endpoint dependent, which can be set with the
+:ref:`endpoint-dependent parameter <endpointLabel>`, then this parameter sets the
+allocated memory size for each of the two endpoint dependent sessions NAT bi-hash
+lookup tables.
+
+.. code-block:: console
+
+ translation hash memory 134217728
+
+user hash buckets <n>
+^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of hash buckets in the user bi-hash lookup table
+(src address lookup for a user.) Defaults to 128 buckets.
+
+.. code-block:: console
+
+ user hash buckets 128
+
+user hash memory <n>
+^^^^^^^^^^^^^^^^^^^^
+
+Sets the allocated memory size (in bytes) for the user bi-hash lookup table
+(src address lookup for a user.) Defaults to 67108864 (64 << 20) bytes,
+which is roughly 64 MB.
+
+.. code-block:: console
+
+ user hash memory 67108864
+
+max translations per user <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the maximum amount of dynamic and/or static NAT sessions each user can have.
+Defaults to 100. When this limit is reached, the least recently used translation
+is recycled.
+
+.. code-block:: console
+
+ max translations per user 50
+
+deterministic
+^^^^^^^^^^^^^
+
+Sets a boolean value to 1 indicating that the NAT is deterministic. Defaults to 0,
+meaning the NAT is not deterministic.
+
+.. code-block:: console
+
+ deterministic
+
+nat64 bib hash buckets <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of hash buckets in each of the two in/out NAT64 BIB bi-hash
+tables. Defaults to 1024 buckets.
+
+.. code-block:: console
+
+ nat64 bib hash buckets 1024
+
+nat64 bib hash memory <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the allocated memory size (in bytes) for each of the two in/out NAT64
+BIB bi-hash tables. Defaults to 134217728 (128 << 20) bytes,
+which is roughly 128 MB.
+
+.. code-block:: console
+
+ nat64 bib hash memory 134217728
+
+nat64 st hash buckets <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of hash buckets in each of the two in/out NAT64 session table
+bi-hash tables. Defaults to 2048 buckets.
+
+.. code-block:: console
+
+ nat64 st hash buckets 2048
+
+nat64 st hash memory <n>
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the allocated memory size (in bytes) for each of the two in/out NAT64 session
+table bi-hash tables. Defaults to 268435456 (256 << 20) bytes, which is roughly
+256 MB.
+
+.. code-block:: console
+
+ nat64 st hash memory 268435456
+
+.. _endpointLabel:
+
+endpoint-dependent
+^^^^^^^^^^^^^^^^^^
+
+Sets a boolean value to 1, indicating that the NAT is endpoint dependent.
+Defaults to 0, meaning the NAT is not endpoint dependent.
+
+.. code-block:: console
+
+ endpoint-dependent
+
+oam Section
+-----------
+
+OAM configuration controls the (ip4-icmp) interval, and number of misses
+allowed before reporting an oam target down to any registered listener.
+
+interval <n.n>
+^^^^^^^^^^^^^^
+
+Interval, floating-point seconds, between sending OAM IPv4 ICMP messages.
+Default is 2.04 seconds.
+
+.. code-block:: console
+
+ interval 3.5
+
+physmem Section
+---------------
+
+Configuration parameters used to specify base address and maximum size of
+the memory allocated for the pmalloc module in VPP. pmalloc is a NUMA-aware,
+growable physical memory allocator. pmalloc allocates memory for the DPDK
+memory pool.
+
+base-addr <address>
+^^^^^^^^^^^^^^^^^^^
+
+Specify the base address for pmalloc memory space.
+
+.. code-block:: console
+
+ base-addr 0xfffe00000000
+
+max-size <n>G | <n>M | <n>K | <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Set the memory size for pmalloc memory space. The default is 16G.
+
+.. code-block:: console
+
+ max-size 4G
+
+tapcli Section
+--------------
+
+Configuration parameters for TAPCLI (dynamic tap interface hookup.)
+
+mtu <n>
+^^^^^^^
+
+Sets interface MTU (maximum transmission unit) size in bytes. This size
+is also related to the number of MTU buffers. Defaults to 1500 bytes.
+
+.. code-block:: console
+
+ mtu 1500
+
+disable
+^^^^^^^
+
+Disables TAPCLI. Default is that TAPCLI is enabled.
+
+.. code-block:: console
+
+ disable
+
+
+tcp Section
+-----------
+
+Configuration parameters for TCP host stack utilities. The following
+preallocation parameters are related to the initialization of fixed-size,
+preallocation pools.
+
+preallocated-connections <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of preallocated TCP connections. Defaults to 0.
+The preallocated connections per thread is related to this value,
+equal to (preallocated_connections / (num_threads - 1)).
+
+.. code-block:: console
+
+ preallocated-connections 5
+
+preallocated-half-open-connections <n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the number of preallocated TCP half-open connections. Defaults to 0.
+
+.. code-block:: console
+
+ preallocated-half-open-connections 5
+
+buffer-fail-fraction <n.n>
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the TCP buffer fail fraction (a float) used for fault-injection
+when debugging TCP buffer allocation. Its use is found in *tcp_debug.h*.
+Defaults to 0.0.
+
+.. code-block:: console
+
+ buffer-fail-fraction 0.0
+
+
+tls Section
+-----------
+
+Configures TLS parameters, such as enabling the use of test certificates.
+These parameters affect the tlsmbedtls and tlsopenssl plugins.
+
+use-test-cert-in-ca
+^^^^^^^^^^^^^^^^^^^
+
+Sets a boolean value to 1 to indicate during the initialization of a
+TLS CA chain to attempt to parse and add test certificates to the chain.
+Defaults to 0, meaning test certificates are not used.
+
+.. code-block:: console
+
+ use-test-cert-in-ca
+
+ca-cert-path <filename>
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Sets the filename path of the location of TLS CA certificates, used when
+initializing and loading TLS CA certificates during the initialization
+of a TLS CA chain. If not set, the default filename path is
+*/etc/ssl/certs/ca-certificates.crt*.
+
+.. code-block:: console
+
+ ca-cert-path /etc/ssl/certs/ca-certificates.crt
+
+
+tuntap Section
+--------------
+
+The "tuntap" driver configures a point-to-point interface between the vpp
+engine and the local Linux kernel stack. This allows e.g. users to ssh to the
+host | VM | container via vpp "revenue" interfaces. It's marginally useful, and
+is currently disabled by default. To [dynamically] create TAP interfaces - the
+preferred scheme - see the "tap_connect" binary API. The Linux network stack
+"vnet" interface needs to manually configure, and VLAN and other settings if
+desired.
+
+
+enable|disable
+^^^^^^^^^^^^^^
+
+Enable or disable the tun/tap driver.
+
+.. code-block:: console
+
+ enable
+
+ethernet|ether
+^^^^^^^^^^^^^^
+
+Create a tap device (ethernet MAC) instead of a tun device (point-to-point
+tunnel). The two keywords are aliases for the same function.
+
+.. code-block:: console
+
+ ethernet
+
+have-normal-interface|have-normal
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Treat the host Linux stack as a routing peer instead of programming VPP
+interface L3 addresses onto the tun/tap devices. The two keywords are
+aliases for the same function.
+
+.. code-block:: console
+
+ have-normal-interface
+
+name <name>
+^^^^^^^^^^^
+
+Assign name to the tun/tap device.
+
+.. code-block:: console
+
+ name vpp1
+
+
+vhost-user Section
+------------------
+
+Vhost-user configuration parameters control the vhost-user driver.
+
+coalesce-frames <n>
+^^^^^^^^^^^^^^^^^^^
+
+Subject to deadline-timer expiration - see next item - attempt to transmit
+at least <n> packet frames. Default is 32 frames.
+
+.. code-block:: console
+
+ coalesce-frames 64
+
+coalesce-time <seconds>
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Hold packets no longer than (floating-point) seconds before transmitting
+them. Default is 0.001 seconds
+
+.. code-block:: console
+
+ coalesce-time 0.002
+
+dont-dump-memory
+^^^^^^^^^^^^^^^^
+
+vhost-user shared-memory segments can add up to a large amount of memory, so
+it's handy to avoid adding them to corefiles when using a significant number
+of such interfaces.
+
+.. code-block:: console
+
+ dont-dump-memory
+
+
+vlib Section
+------------
+
+These parameters configure VLIB, such as allowing you to choose whether to
+enable memory traceback or a post-mortem elog dump.
+
+memory-trace
+^^^^^^^^^^^^
+
+Enables memory trace (mheap traceback.) Defaults to 0, meaning memory
+trace is disabled.
+
+.. code-block:: console
+
+ memory-trace
+
+elog-events <n>
+^^^^^^^^^^^^^^^
+
+Sets the number of elements/events (the size) of the event ring
+(a circular buffer of events.) This number rounds to a power of 2.
+Defaults to 131072 (128 << 10) elements.
+
+.. code-block:: console
+
+ elog-events 4096
+
+elog-post-mortem-dump
+^^^^^^^^^^^^^^^^^^^^^
+
+Enables the attempt of a post-mortem elog dump to
+*/tmp/elog_post_mortem.<PID_OF_CALLING_PROCESS>* if os_panic or
+os_exit is called.
+
+.. code-block:: console