OS Manuals

/usr/bin/ovs-testcontroller

Open vSwitch is a production-quality, multilayer virtual switch

From ovs-4.0 4.0.0-r4 (enterprise-packages), captured 2026-11-08 by running ovs-testcontroller --help (exit 0). permalink

Also provided by 3 other package versions
ovs-testcontroller: OpenFlow controller
usage: ovs-testcontroller [OPTIONS] METHOD
where METHOD is any OpenFlow connection method.

Active OpenFlow connection methods:
  tcp:HOST[:PORT]         PORT (default: 6653) at remote HOST
  ssl:HOST[:PORT]         SSL/TLS PORT (default: 6653) at remote HOST
  unix:FILE               Unix domain socket named FILE
Passive OpenFlow connection methods:
  ptcp:[PORT][:IP]        listen to TCP PORT (default: 6653) on IP
  pssl:[PORT][:IP]        listen for SSL/TLS on PORT (default: 6653) on IP
  punix:FILE              listen on Unix domain socket FILE
PKI configuration (required to use SSL/TLS):
  -p, --private-key=FILE  file with private key
  -c, --certificate=FILE  file with certificate for private key
  -C, --ca-cert=FILE      file with peer CA certificate

Daemon options:
  --detach                run in background as daemon
  --monitor               creates a process to monitor this daemon
  --user=username[:group] changes the effective daemon user:group
  --no-chdir              do not chdir to '/'
  --pidfile[=FILE]        create pidfile (default: /run/openvswitch/ovs-testcontroller.pid)
  --overwrite-pidfile     with --pidfile, start even if already running

OpenFlow version options:
  -V, --version           display version information
  -O, --protocols         set allowed OpenFlow versions
                          (default: OpenFlow10, OpenFlow11, OpenFlow12, OpenFlow13, OpenFlow14, OpenFlow15)

Logging options:
  -vSPEC, --verbose=SPEC   set logging levels
  -v, --verbose            set maximum verbosity level
  --log-file[=FILE]        enable logging to specified FILE
                           (default: /var/log/openvswitch/ovs-testcontroller.log)
  --syslog-method=(libc|unix:file|udp:ip:port)
                           specify how to send messages to syslog daemon
  --syslog-target=HOST:PORT  also send syslog msgs to HOST:PORT via UDP

Other options:
  -H, --hub               act as hub instead of learning switch
  -n, --noflow            pass traffic, but don't add flows
  --max-idle=SECS         max idle time for new flows
  -N, --normal            use OFPP_NORMAL action
  -w, --wildcards[=MASK]  wildcard (specified) bits in flows
  -q, --queue=QUEUE-ID    OpenFlow queue ID to use for output
  -Q PORT-NAME:QUEUE-ID   use QUEUE-ID for frames from PORT-NAME
  --with-flows FILE       use the flows from FILE
  --unixctl=SOCKET        override default control socket name
  -h, --help              display this help message
  -V, --version           display version information
Options (31)
OptionDescriptionSource
-p, --private-key FILESpecifies a PEM file containing the private key used as ovs-testcontroller's identity for outgoing SSL/TLS connections.help + man + man
-c, --certificate FILESpecifies a PEM file containing a certificate that certifies the private key specified on -p or --private-key to be trustworthy.help + man + man
-C, --ca-cert FILESpecifies a PEM file containing the CA certificate that ovs-testcontroller should use to verify certificates presented to it by SSL/TLS peers.help + man + man
--detachRuns ovs-testcontroller as a background process.help + man
--monitorCreates an additional process to monitor the ovs-testcontroller daemon.help + man
--no-chdirBy default, when --detach is specified, ovs-testcontroller changes its current working directory to the root directory after it detaches.help + man
--pidfile FILEcreate pidfile (default: /run/openvswitch/ovs-testcontroller.pid)help
--overwrite-pidfileBy default, when --pidfile is specified and the specified pidfile already exists and is locked by a running process, ovs-testcontroller refuses to start.help + man
-V, --versionPrints version information to the console.help + man + man
-O, --protocolsset allowed OpenFlow versions (default: OpenFlow10, OpenFlow11, OpenFlow12, OpenFlow13, OpenFlow14, OpenFlow15)help
-vSPEC, --verbose SPECSets the maximum logging verbosity level, equivalent to --verbose=dbg.help + man
--log-file FILEenable logging to specified FILE (default: /var/log/openvswitch/ovs-testcontroller.log)help
--syslog-method (libc|unix:file|udp:ip:port)Specify method how syslog messages should be sent to syslog daemon.help + man
--syslog-target HOST:PORTSend syslog messages to UDP port on host, in addition to the system syslog.help + man
-H, --hubBy default, the controller acts as an L2 MAC-learning switch.help + man + man
-n, --noflowBy default, ovs-testcontroller sets up a flow in each OpenFlow switch whenever it receives a packet whose destination is known due through MAC learning.help + man + man
--max-idle SECSSets secs as the number of seconds that a flow set up by the controller will remain in the switch's flow table without any matching packets being seen.help + man
-N, --normalBy default, ovs-testcontroller directs packets to a particular port or floods them.help + man + man
-w, --wildcards MASKwildcard (specified) bits in flowshelp
-q, --queue QUEUE-IDBy default, ovs-testcontroller uses the default OpenFlow queue for sending packets and setting up flows.help + man + man
-Q PORT-NAME:QUEUE-IDuse QUEUE-ID for frames from PORT-NAMEhelp + man
--with-flows FILEWhen a switch connects, push the flow entries as described in file.help + man
--unixctl SOCKETSets the name of the control socket on which ovs-testcontroller listens for runtime management commands (see RUNTIME MANAGEMENT COMMANDS, below).help + man
-h, --helpPrints a brief help message to the console.help + man + man
--mutePrevents ovs-testcontroller from replying to any OpenFlow messages sent to it by switches. (in the manual page but not in --help)man
--port-queue port-name:queue-idConfigures packets received on the port named port-name (e.g. eth0) to be output on OpenFlow queue ID queue-id (specified as a decimal number). (in the manual page but not in --help)man
--ssl-server-name servernameSpecifies the server name to use for TLS Server Name Indication (SNI). (in the manual page but not in --help)man
--peer-ca-cert peer-cacert.pemSpecifies a PEM file that contains one or more additional certificates to send to SSL/TLS peers. (in the manual page but not in --help)man
--no-self-confinementBy default daemon will try to self-confine itself to work with files under well-known directories determined during build. (in the manual page but not in --help)man
--userCauses ovs-testcontroller to run as a different user specified in "user:group", thus dropping most of the root privileges. (in the manual page but not in --help)man
-v (in the manual page but not in --help)man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.