OVS-APPCTL(8)                    Open vSwitch                    OVS-APPCTL(8)

       ovs-appctl - utility for configuring running Open vSwitch daemons

       ovs-appctl  [--target=``<target> | ``-t <target>] [--timeout=``<secs> |
       ``-T <secs>] <command> [<arg>…]

       ovs-appctl --help

       ovs-appctl --version

       Open vSwitch daemons accept certain  commands  at  runtime  to  control
       their behavior and query their settings.  Every daemon accepts a common
       set of commands documented under Common Commands below.   Some  daemons
       support   additional   commands   documented  in  their  own  manpages.
       ovs-vswitchd in particular accepts a number of additional commands doc‐
       umented in ovs-vswitchd(8).

       The  ovs-appctl program provides a simple way to invoke these commands.
       The command to be sent is specified on  ovs-appctl’s  command  line  as
       non-option arguments.  ovs-appctl sends the command and prints the dae‐
       mon’s response on standard output.

       In normal use only a single option is accepted:

       • -t <target> or --target <target>

         Tells ovs-appctl which daemon to contact.

         If <target> begins with / it must name a Unix domain socket on  which
         an  Open vSwitch daemon is listening for control channel connections.
         By default, each daemon listens on a Unix domain socket in the rundir
         (e.g.  /run)  named  <program>.<pid>.ctl, where <program> is the pro‐
         gram’s  name  and  <pid>  is  its  process  ID.   For   example,   if
         ovs-vswitchd has PID 123, it would listen on ovs-vswitchd.123.ctl.

         Otherwise,  ovs-appctl  looks in the rundir for a pidfile, that is, a
         file whose contents are the process ID of a running process as a dec‐
         imal number, named <target>.pid.  (The --pidfile option makes an Open
         vSwitch daemon create a pidfile.)  ovs-appctl reads the pidfile, then
         looks in the rundir for a Unix socket named <target>.<pid>.ctl, where
         <pid> is replaced by the process ID read from the pidfile,  and  uses
         that file as if it had been specified directly as the target.

         On  Windows, <target> can be an absolute path to a file that contains
         a localhost TCP port on which an Open vSwitch daemon is listening for
         control  channel  connections. By default, each daemon writes the TCP
         port on which it is listening for control connection  into  the  file
         <program>.ctl  located inside the rundir. If <target> is not an abso‐
         lute path, ovs-appctl looks in the rundir  for  a  file  named  <tar‐
         get>.ctl.  The default target is ovs-vswitchd.

       • -T <secs> or --timeout=<secs>

         By  default,  or with a <secs> of 0, ovs-appctl waits forever to con‐
         nect to the daemon and receive a response.  This option  limits  run‐
         time  to  approximately  <secs>  seconds.   If  the  timeout expires,
         ovs-appctl exits with a SIGALRM signal.

       Every Open vSwitch daemon supports a common set of commands, which  are
       documented in this section.

   General Commands
       These  commands  display  daemon-specific commands and the running ver‐
       sion.  Note that these commands  are  different  from  the  --help  and
       --version  options that return information about the ovs-appctl utility

       • list-commands

         Lists the commands supported by the target.

       • version

         Displays the version and compilation date of the target.

   Logging Commands
       Open vSwitch has several log levels.  The  highest-severity  log  level

       • off

         No  message is ever logged at this level, so setting a logging desti‐
         nation’s log level to off disables logging to that destination.

       The following log levels, in order of descending severity,  are  avail‐

       • emer

         A major failure forced a process to abort.

       • err

         A  high-level  operation  or  a  subsystem failed.  Attention is war‐

       • warn

         A low-level operation failed, but higher-level subsystems may be able
         to recover.

       • info

         Information  that  may  be  useful in retrospect when investigating a

       • dbg

         Information useful only to someone with intricate  knowledge  of  the
         system,  or that would commonly cause too-voluminous log output.  Log
         messages at this level are not logged by default.

       Every Open vSwitch daemon supports the following commands for examining
       and adjusting log levels:

       • vlog/list

         Lists the known logging modules and their current levels.

       • vlog/list-pattern

         Lists logging pattern used for each destination.

       • vlog/set [<spec>]

         Sets  logging levels.  Without any <spec>, sets the log level for ev‐
         ery module and destination to dbg.  Otherwise, <spec> is  a  list  of
         words  separated  by  spaces or commas or colons, up to one from each
         category below:

         • A valid module name, as  displayed  by  the  vlog/list  command  on
           ovs-appctl(8), limits the log level change to the specified module.

         • syslog,  console, or file, to limit the log level change to only to
           the system log, to the console, or to a file, respectively.

           On Windows platform, syslog is only useful if <target> was  started
           with the --syslog-target option (it has no effect otherwise).

         • off, emer, err, warn, info, or dbg, to control the log level.  Mes‐
           sages of the given severity or higher will be logged, and  messages
           of  lower  severity will be filtered out.  off filters out all mes‐

         Case is not significant within <spec>.

         Regardless of the log levels set for file, logging to a file will not
         take  place  unless  the  target  application  was  invoked  with the
         --log-file option.

         For compatibility with older versions of OVS, any is accepted  within
         <spec> but it has no effect.

       • vlog/set PATTERN:<destination>:<pattern>

         Sets  the  log  pattern  for <destination> to <pattern>.  Each time a
         message is logged to <destination>,  <pattern>  determines  the  mes‐
         sage’s formatting.  Most characters in <pattern> are copied literally
         to the log, but special escapes beginning with % are expanded as fol‐

         • %A

           The name of the application logging the message, e.g. ovs-vswitchd.

         • %B

           The RFC5424 syslog PRI of the message.

         • %c

           The  name of the module (as shown by ovs-appctl --list) logging the

         • %d

           The current date and time in ISO 8601 format (YYYY-MM-DD HH:MM:SS).

         • %d{<format>}

           The current date and time in the specified  <format>,  which  takes
           the  same  format as the <template> argument to strftime(3).  As an
           extension, any # characters in <format> will be replaced  by  frac‐
           tional  seconds,  e.g. use %H:%M:%S.### for the time to the nearest
           millisecond.  Sub-second times are only approximate  and  currently
           decimal places after the third will always be reported as zero.

         • %D

           The  current  UTC  date  and  time  in  ISO 8601 format (YYYY-MM-DD

         • %D{<format>}

           The current UTC date and time  in  the  specified  <format>,  which
           takes  the same format as the <template> argument to strftime``(3).
           Supports the same extension for sub-second resolution as ``%d{...}.

         • %E

           The hostname of the node running the application.

         • %m

           The message being logged.

         • %N

           A serial number for this message within this run of the program, as
           a decimal number.  The first message a program logs has serial num‐
           ber 1, the second one has serial number 2, and so on.

         • %n

           A new-line.

         • %p

           The level at which the message is logged, e.g. DBG.

         • %P

           The program’s process ID (pid), as a decimal number.

         • %r

           The number of milliseconds elapsed from the start of  the  applica‐
           tion to the time the message was logged.

         • %t

           The  subprogram  name, that is, an identifying name for the process
           or thread that emitted the log message, such  as  monitor  for  the
           process  used  for  --monitor  or  main  for the primary process or
           thread in a program.

         • %T

           The subprogram name enclosed in parentheses, e.g. (monitor), or the
           empty string for the primary process or thread in a program.

         • %%

           A literal %.

         A few options may appear between the % and the format specifier char‐
         acter, in this order:

         • -

           Left justify the escape’s expansion within its field width.   Right
           justification is the default.

         • 0

           Pad  the  field to the field width with 0 characters.  Padding with
           spaces is the default.

         • <width>

           A number specifies the minimum field width.  If the escape  expands
           to  fewer  characters  than  <width>  then it is padded to fill the
           field width.  (A field wider than <width> is not truncated to fit.)

         The default pattern for  console  and  file  output  is  %D{%Y-%m-%dT
         %H:%M:%SZ}|%05N|%c|%p|%m; for syslog output, %05N|%c|%p|%m.

         Daemons  written in Python (e.g. ovs-monitor-ipsec) do not allow con‐
         trol over the log pattern.

       • vlog/set FACILITY:<facility>

         Sets the RFC5424 facility of the log message. <facility> can  be  one
         of  kern,  user,  mail, daemon, auth, syslog, lpr, news, uucp, clock,
         ftp, ntp, audit, alert, clock2, local0, local1, local2,  local3,  lo‐
         cal4, local5, local6 or local7.

       • vlog/close

         Causes  the  daemon  to  close  its  log  file,  if it is open.  (Use
         vlog/reopen to reopen it later.)

       • vlog/reopen

         Causes the daemon to close its log file, if it is open, and then  re‐
         open  it.   (This  is useful after rotating log files, to cause a new
         log file to be used.)

         This has no effect if the target application was not invoked with the
         --log-file option.

       -h, --help
              Prints a brief help message to the console.

       -V, --version
              Prints version information to the console.

       ovs-appctl   can   control   all   Open   vSwitch   daemons,  including
       ovs-vswitchd(8) and ovsdb-server(1).

       The Open vSwitch Development Community

       2016-2021, The Open vSwitch Development Community

3.3                              Feb 17, 2024                    OVS-APPCTL(8)