VTC command-line arguments
Running the VTC application on the 10G appliance with the -h arg will print out all of the available
command line arguments with a brief description. This file provides a more detailed description
of the usage of each argument and any notes about the arguments, if applicable
Registration-related
These arguments are used on first-time registration of a VTC with a Controller. These four arguments should all be used at the same time and won't have any effect on startup of the VTC after it has already been registered.
Registration example:
vtc-ng --key=abcd1234abcd1234 --pin=12345 --registrationHostname=reg.example.com --registrationPort=49111
key
Usage
--key=[key]
Description
- This is the key that is used to register a VTC with a Controller
- Should be a 16-digit key from the Edit VTC > Utilities > Show Key/PIN modal in Orchestrator
without any spaces, e.g.
--key=abcd1234abcd1234
pin
Usage
--pin=[PIN]
Description
- This is the PIN that is used to register a VTC with a Controller
- Should be a 5-digit numeric key from the Edit VTC > Utilities > Show Key/PIN modal in
Orchestrator without any spaces, e.g.
--pin=12345
registrationHostname
Usage
--registrationHostname=[IP or DNS hostname]
Description
- This is the address of the Controller that this VTC will register with
- Can be either an IP address, e.g.
--registrationHostname=192.168.2.10or a DNS hostname, e.g.--registrationHostname=reg.example.com
registrationPort
Usage
--registrationPort=[port number]
Description
- This is the TCP port used for registration on the Controller that this VTC will register with
- This value is configured at the Controller-level at first startup and can be queried with the
cfgcommand on the Controller CLI (in the VTC Registration Port field of the output) - Can be either an IP address, e.g.
--registrationHostname=192.168.2.10or a DNS hostname, e.g.--registrationHostname=reg.example.com
DPDK-related
These fields control a variety of configuration parameters for the DPDK intercept driver. Most of them are used for
tuning and can probably be left at the default values, with the exception of --nrxq
dpdkReceiveQueues
Usage
-dpdkReceiveQueues=[int value]
Description
- This variable is used to specify the number of RX queues per port
- This value is largely what controls the level of parallelism in the DPDK driver, with higher values allowing you to more effectively spread packet processing across CPU cores
- The value can't be higher than the amount of cores available on the system, and shouldn't be close to that amount as the RX queues essentially each take over a CPU core with a packet processing loop, leaving it mostly unusable for other CPU activities
- The default value is
0, corresponding to automatic RX queue selection
dpdkBurstSize
Usage
--dpdkBurstSize=[int value]
Description
- Specify RX burst size (default 256)
dpdkDataRoomSize int
Usage
--dpdkDataRoomSize=[int value]
Description
- Specify mbuf size in mempool (default 3000)
dpdkDryRun
Usage
--dpdkDryRun(or--dpdkDryRun=true)
Description
If true, traffic will not actually be processed by the DPDK packet loop
dpdkReceiveDescriptors
Usage
--dpdkReceiveDesriptors=[int value]
Description
- Specify number of RX descriptors per port (default 4096)
dpdkTransmitDescriptors
Usage
--dpdkTransmitDescriptors=[int value]
Description
Specify number of TX descriptors per port (default 4096)
dpdkPoolCache
Usage
--dpdkPoolCache=[int value]
Description
- Specify amount of mbufs in per-lcore cache (default 512)
dpdkPoolMemoryBuffers
Usage
--dpdkPoolMemoryBuffers=[int value]
Description
- Specify number of mbufs in mempool (default 100000)
Miscellaneous
These variables are generally-used for debug purposes to enable some special functionality in the VTC
sampling
Usage
--sampling(or--sampling=true)
Description
- This field enables throughput sampling on the
terminate
Usage
--terminate(or--terminate=true)
Description
- When enabled, this field will cause the VTC to shut down if it is unable to connect to any of the Controllers present in its VTC config file.
- This is intended to be used in a scripting situation e.g. to verify that a VTC has successfully connected to a Controller after the VTC service has started
noDpdk
Usage
--noDpdk(or--noDpdk=true)
Description
- This field disables the DPDK-based intercept driver
- When this mode is enabled, the VTC will not listen for any intercepts on outbound traffic. Instead all sessions will
have to be started using the
sess start ...IPC command and all client data will have to be routed to a local port specific to the newly-started session
configurationDirectory
Usage
--configurationDirectory=[directory path]
Description
- This variable specifies the root directory used for VTC config files.
- These files include
vtc_config.jsec, certificate files, logs, etc. - The default is the current working directory
configFile
Usage
--configFile=[file]
Description
- Load VTC configuration from a file other than
config.json - This file has the same available options as the CLI arguments, but a lower precedence than the CLI-passed arguments
- i.e. if you pass a value for the
registrationHostnamein both the CLI and inconfig.json, it will use the value passed to the CLI, not the value in the config file
logLevel
Usage
--configFile=[1-7]
Description
- This value controls the default log level for the
vtc_ngapplication - Options (from most to least verbose) are
7(trace),6(debug),5(info),4(warn),3(error),2(fatal),1(panic - Default value is
4(corresponding toinfolevel) - This value can also be changed at runtime using e.g. the
log 6command
directChannelMultiplier
Usage
-directChannelMultiplier=16
Description
- This variable is used to determine the direct channel multiplier value. This value will be multiplied by the Direct Channels field in the Deflect Pool configuration to determine the total number of channels for any given session.
- The default value is
1
directChannelIp
Usage
--directChannelCp=[local IP address]
Description
- This variable is used on a VTC that is hosting a service in order to specify the IP address that all direct channels will listen on.
- The default behavior is to use the same IP address that the VTC uses to talk to the Session Controller when starting a session, but this variable can be used to manually listen on a different address, e.g. on a secondary 10g interface or an MPLS-enabled interface rather than the VTC's WAN interface
directChannelProtocol
Usage
--directChannelProtocol=[tcp,udp]
Description
- This variable is used on a VTC that is hosting a service in order to specify the network protocol that direct channels will run over.
- The default value is
tcp - Available options are
tcpandudp
channelMtu
Usage
--channelMtu=[local IP address]
Description
- This variable is used to specify the max size of a payload packet on the channel-side. This should be set to the MTU of the channel-side NIC.
- This is primarily used for UDP direct channels. In TCP mode, the channel MTU is not limited to the physical MTU of the NIC and can be set to any value.
- The default for
tcpis16384and the default forudpis 9000 - Generally, a value between ~8000 and ~100k is recommended for the most optimal crypto performance