• <var id="lvoaz"></var>
      1. <output id="lvoaz"></output>
          ovsdb-server(1)               Open vSwitch Manual              ovsdb-server(1)
          
          
          
          NAME
                 ovsdb-server - Open vSwitch database server
          
          SYNOPSIS
                 ovsdb-server [database]...  [--remote=remote]...  [--run=command]
          
                 Daemon options:
                        [--pidfile[=pidfile]]      [--overwrite-pidfile]      [--detach]
                        [--no-chdir]
          
                 Service options:
                        [--service] [--service-monitor]
          
                 Logging options:
                        [-v[module[:destination[:level]]]]...
                        [--verbose[=module[:destination[:level]]]]...
                        [--log-file[=file]]
          
                 Public key infrastructure options:
                        [--private-key=privkey.pem]
                        [--certificate=cert.pem]
                        [--ca-cert=cacert.pem]
                        [--bootstrap-ca-cert=cacert.pem]
                        [--peer-ca-cert=peer-cacert.pem]
          
                 Runtime management options:
                        --unixctl=socket
          
                 Common options:
                        [-h | --help] [-V | --version]
          
          
          DESCRIPTION
                 The ovsdb-server program provides RPC interfaces to one  or  more  Open
                 vSwitch  databases  (OVSDBs).   It supports JSON-RPC client connections
                 over active or passive TCP/IP or Unix domain sockets.
          
                 Each OVSDB file may be specified on the command line as  database.   If
                 none is specified, the default is //etc/openvswitch/conf.db.  The data‐
                 base files must already have been created and  initialized  using,  for
                 example, ovsdb-tool create.
          
          OPTIONS
                 --remote=remote
                        Adds remote as a connection method used by ovsdb-server.  remote
                        must take one of the following forms:
          
                        pssl:port[:ip]
                               Listen on the  given  SSL  port  for  a  connection.   By
                               default,  connections are not bound to a particular local
                               IP address and it listens only on  IPv4  (but  not  IPv6)
                               addresses,  but specifying ip limits connections to those
                               from the given ip, either IPv4 or IPv6 address.  If ip is
                               an IPv6 address, then wrap ip with square brackets, e.g.:
                               pssl:6640:[::1].  The --private-key,  --certificate,  and
                               --ca-cert options are mandatory when this form is used.
          
                        ptcp:port[:ip]
                               Listen  on  the  given  TCP  port  for  a connection.  By
                               default, connections are not bound to a particular  local
                               IP  address  and  it  listens only on IPv4 (but not IPv6)
                               addresses, but ip may be specified  to  listen  only  for
                               connections to the given ip, either IPv4 or IPv6 address.
                               If ip is an IPv6 address, then wrap ip with square brack‐
                               ets, e.g.: ptcp:6640:[::1].
          
                        punix:file
                               On  POSIX,  listen on the Unix domain server socket named
                               file for a connection.
          
                               On Windows, listen on a kernel chosen  TCP  port  on  the
                               localhost. The kernel chosen TCP port value is written in
                               file.
          
                        ssl:ip:port
                               The specified SSL port on the host at the given ip, which
                               must  be  expressed  as an IP address (not a DNS name) in
                               IPv4 or IPv6 address format.  If ip is an  IPv6  address,
                               then  wrap ip with square brackets, e.g.: ssl:[::1]:6640.
                               The --private-key, --certificate, and  --ca-cert  options
                               are mandatory when this form is used.
          
                        tcp:ip:port
                               Connect to the given TCP port on ip, where ip can be IPv4
                               or IPv6 address. If ip is an IPv6 address, then  wrap  ip
                               with square brackets, e.g.: tcp:[::1]:6640.
          
                        unix:file
                               On  POSIX, connect to the Unix domain server socket named
                               file.
          
                               On Windows, connect to a localhost TCP port  whose  value
                               is written in file.
          
                        db:db,table,column
                               Reads additional connection methods from column in all of
                               the rows in table within db.  As the contents  of  column
                               changes,  ovsdb-server  also  adds  and  drops connection
                               methods accordingly.
          
                               If column's type is string or set of  strings,  then  the
                               connection  methods  are  taken directly from the column.
                               The connection methods in the column must have one of the
                               forms described above.
          
                               If column's type is UUID or set of UUIDs and references a
                               table, then each UUID is looked up in the referenced  ta‐
                               ble  to  obtain a row.  The following columns in the row,
                               if present and of the correct type, configure  a  connec‐
                               tion method.  Any additional columns are ignored.
          
                               target (string)
                                      Connection  method,  in one of the forms described
                                      above.  This column is mandatory: if it is missing
                                      or  empty then no connection method can be config‐
                                      ured.
          
                               max_backoff (integer)
                                      Maximum number of  milliseconds  to  wait  between
                                      connection attempts.
          
                               inactivity_probe (integer)
                                      Maximum  number  of  milliseconds  of idle time on
                                      connection to client before sending an  inactivity
                                      probe message.
          
                               It is an error for column to have another type.
          
                        To  connect or listen on multiple connection methods, use multi‐
                        ple --remote options.
          
                 --run=command]
                        Ordinarily ovsdb-server runs forever, or until  it  is  told  to
                        exit (see RUNTIME MANAGEMENT COMMANDS below).  With this option,
                        ovsdb-server instead starts a shell subprocess running  command.
                        When  the  subprocess terminates, ovsdb-server also exits grace‐
                        fully.  If the subprocess exits normally with exit code 0,  then
                        ovsdb-server  exits  with  exit code 0 also; otherwise, it exits
                        with exit code 1.
          
                        This option can be useful where a database server is needed only
                        to     run     a     single    command,    e.g.:    ovsdb-server
                        --remote=punix:socket   --run='ovsdb-client   dump   unix:socket
                        Open_vSwitch'
          
                        This option is not supported on Windows platform.
          
             Daemon Options
                 The following options are valid on POSIX based platforms.
          
                 --pidfile[=pidfile]
                        Causes a file (by default, ovsdb-server.pid) to be created indi‐
                        cating the PID of the running process.  If the pidfile  argument
                        is  not  specified,  or  if it does not begin with /, then it is
                        created in //var/run/openvswitch.
          
                        If --pidfile is not specified, no pidfile is created.
          
                 --overwrite-pidfile
                        By default, when --pidfile is specified and the  specified  pid‐
                        file  already  exists  and  is  locked  by  a  running  process,
                        ovsdb-server refuses to start.  Specify  --overwrite-pidfile  to
                        cause it to instead overwrite the pidfile.
          
                        When --pidfile is not specified, this option has no effect.
          
                 --detach
                        Runs  ovsdb-server  as a background process.  The process forks,
                        and in the child it starts a new session,  closes  the  standard
                        file descriptors (which has the side effect of disabling logging
                        to the console), and changes its current directory to  the  root
                        (unless --no-chdir is specified).  After the child completes its
                        initialization, the parent exits.   ovsdb-server  detaches  only
                        after it starts listening on all configured remotes.
          
                 --monitor
                        Creates  an  additional process to monitor the ovsdb-server dae‐
                        mon.  If the daemon dies due to a signal that indicates  a  pro‐
                        gramming  error  (SIGABRT, SIGALRM, SIGBUS, SIGFPE, SIGILL, SIG
                        PIPE, SIGSEGV, SIGXCPU, or SIGXFSZ)  then  the  monitor  process
                        starts  a  new  copy  of  it.   If  the daemon dies or exits for
                        another reason, the monitor process exits.
          
                        This option is normally used with --detach, but  it  also  func‐
                        tions without it.
          
                 --no-chdir
                        By default, when --detach is specified, ovsdb-server changes its
                        current  working  directory  to  the  root  directory  after  it
                        detaches.   Otherwise,  invoking  ovsdb-server from a carelessly
                        chosen directory would prevent the administrator from unmounting
                        the file system that holds that directory.
          
                        Specifying   --no-chdir  suppresses  this  behavior,  preventing
                        ovsdb-server from changing its current working directory.   This
                        may  be  useful  for  collecting  core files, since it is common
                        behavior to write core dumps into the current working  directory
                        and the root directory is not a good directory to use.
          
                        This option has no effect when --detach is not specified.
          
                 --user Causes  ovsdb-server  to  run  as  a different user specified in
                        "user:group", thus dropping most of the root  privileges.  Short
                        forms "user" and ":group" are also allowed, with current user or
                        group are assumed respectively. Only daemons started by the root
                        user accepts this argument.
          
                        On   Linux,   daemons   will   be   granted   CAP_IPC_LOCK   and
                        CAP_NET_BIND_SERVICES before dropping root  privileges.  Daemons
                        interact  with  datapath,  such as ovs-vswitchd, will be granted
                        two   additional   capabilities,   namely   CAP_NET_ADMIN    and
                        CAP_NET_RAW.  The  capability change will apply even if new user
                        is "root".
          
                        On Windows, this option is not currently supported. For security
                        reasons,  specifying  this  option will cause the daemon process
                        not to start.
          
             Service Options
                 The following options are valid only on Windows platform.
          
                 --service
                        Causes ovsdb-server to run as a service in the  background.  The
                        service  should already have been created through external tools
                        like SC.exe.
          
                 --service-monitor
                        Causes the ovsdb-server service to be automatically restarted by
                        the  Windows  services  manager if the service dies or exits for
                        unexpected reasons.
          
                        When --service is not specified, this option has no effect.
          
             Logging Options
                 -v[spec]
                 --verbose=[spec]
                        Sets logging levels.  Without any spec, sets the log  level  for
                        every  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 com‐
                               mand 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.   (If  --detach  is specified, ovsdb-server
                               closes its standard file descriptors, so logging  to  the
                               console will have no effect.)
          
                               On  Windows platform, syslog is accepted as a word and is
                               only useful along with the  --syslog-target  option  (the
                               word has no effect otherwise).
          
                        ·      off,  emer,  err,  warn, info, or dbg, to control the log
                               level.  Messages of the given severity or higher will  be
                               logged,  and  messages of lower severity will be filtered
                               out.  off filters out all  messages.   See  ovs-appctl(8)
                               for a definition of each log level.
          
                        Case is not significant within spec.
          
                        Regardless  of  the  log  levels set for file, logging to a file
                        will not take place unless --log-file  is  also  specified  (see
                        below).
          
                        For compatibility with older versions of OVS, any is accepted as
                        a word but has no effect.
          
                 -v
                 --verbose
                        Sets the maximum logging verbosity level, equivalent  to  --ver
                        bose=dbg.
          
                 -vPATTERN:destination:pattern
                 --verbose=PATTERN:destination:pattern
                        Sets  the  log  pattern  for  destination  to pattern.  Refer to
                        ovs-appctl(8) for a description of the valid syntax for pattern.
          
                 -vFACILITY:facility
                 --verbose=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,  local4, local5, local6 or local7. If this option is not
                        specified, daemon is used as the default for  the  local  system
                        syslog  and local0 is used while sending a message to the target
                        provided via the --syslog-target option.
          
                 --log-file[=file]
                        Enables logging to a file.  If file is  specified,  then  it  is
                        used  as  the exact name for the log file.  The default log file
                        name   used   if   file   is    omitted    is    //var/log/open
                        vswitch/ovsdb-server.log.
          
                 --syslog-target=host:port
                        Send  syslog  messages  to  UDP port on host, in addition to the
                        system syslog.  The host must be a numerical IP address,  not  a
                        hostname.
          
                 --syslog-method=method
                        Specify method how syslog messages should be sent to syslog dae‐
                        mon.  Following forms are supported:
          
                        ·      libc, use libc syslog() function.  This  is  the  default
                               behavior.   Downside  of  using this options is that libc
                               adds fixed prefix to every message before it is  actually
                               sent  to  the  syslog  daemon  over  /dev/log UNIX domain
                               socket.
          
                        ·      unix:file, use UNIX domain socket directly.  It is possi‐
                               ble to specify arbitrary message format with this option.
                               However, rsyslogd 8.9 and older versions use  hard  coded
                               parser  function  anyway  that  limits UNIX domain socket
                               use.  If you want to use arbitrary  message  format  with
                               older rsyslogd versions, then use UDP socket to localhost
                               IP address instead.
          
                        ·      udp:ip:port, use UDP socket.  With this method it is pos‐
                               sible  to  use  arbitrary  message format also with older
                               rsyslogd.  When sending syslog messages over  UDP  socket
                               extra  precaution  needs  to  be  taken into account, for
                               example, syslog daemon needs to be configured  to  listen
                               on  the  specified  UDP  port,  accidental iptables rules
                               could be interfering with local syslog traffic and  there
                               are  some security considerations that apply to UDP sock‐
                               ets, but do not apply to UNIX domain sockets.
          
             Public Key Infrastructure Options
                 The options described below for configuring the SSL public  key  infra‐
                 structure  accept  a  special  syntax for obtaining their configuration
                 from the database.  If any of these options is given db:db,table,column
                 as  its  argument, then the actual file name is read from the specified
                 column in table within the db database.   The  column  must  have  type
                 string  or  set  of strings.  The first nonempty string in the table is
                 taken as the file name.  (This means that ordinarily there should be at
                 most one row in table.)
          
                 -p privkey.pem
                 --private-key=privkey.pem
                        Specifies  a  PEM  file  containing  the  private  key  used  as
                        ovsdb-server's identity for outgoing SSL connections.
          
                 -c cert.pem
                 --certificate=cert.pem
                        Specifies a PEM file containing a certificate that certifies the
                        private  key specified on -p or --private-key to be trustworthy.
                        The certificate must be signed by the certificate authority (CA)
                        that the peer in SSL connections will use to verify it.
          
                 -C cacert.pem
                 --ca-cert=cacert.pem
                        Specifies   a  PEM  file  containing  the  CA  certificate  that
                        ovsdb-server should use to verify certificates presented  to  it
                        by  SSL peers.  (This may be the same certificate that SSL peers
                        use to verify the certificate specified on -c or  --certificate,
                        or  it  may  be  a different one, depending on the PKI design in
                        use.)
          
                 -C none
                 --ca-cert=none
                        Disables verification of certificates presented  by  SSL  peers.
                        This  introduces a security risk, because it means that certifi‐
                        cates cannot be verified to be those of known trusted hosts.
          
                 --bootstrap-ca-cert=cacert.pem
                        When cacert.pem exists, this option has the same effect as -C or
                        --ca-cert.  If it does not exist, then ovsdb-server will attempt
                        to obtain the CA certificate from the SSL peer on its first  SSL
                        connection and save it to the named PEM file.  If it is success‐
                        ful, it will immediately drop the connection and reconnect,  and
                        from then on all SSL connections must be authenticated by a cer‐
                        tificate signed by the CA certificate thus obtained.
          
                        This option exposes the SSL connection  to  a  man-in-the-middle
                        attack  obtaining the initial CA certificate, but it may be use‐
                        ful for bootstrapping.
          
                        This option is only useful if the SSL peer sends its CA certifi‐
                        cate  as  part  of  the SSL certificate chain.  The SSL protocol
                        does not require the server to send the CA certificate.
          
                        This option is mutually exclusive with -C and --ca-cert.
          
                 --peer-ca-cert=peer-cacert.pem
                        Specifies a PEM file that contains one or more  additional  cer‐
                        tificates  to  send to SSL peers.  peer-cacert.pem should be the
                        CA certificate used to sign ovsdb-server's own certificate, that
                        is,  the  certificate  specified  on  -c  or  --certificate.  If
                        ovsdb-server's certificate is  self-signed,  then  --certificate
                        and --peer-ca-cert should specify the same file.
          
                        This  option  is not useful in normal operation, because the SSL
                        peer must already have the CA certificate for the peer  to  have
                        any confidence in ovsdb-server's identity.  However, this offers
                        a way for a new installation to bootstrap the CA certificate  on
                        its first SSL connection.
          
             Other Options
                 --unixctl=socket
                        Sets  the  name of the control socket on which ovsdb-server lis‐
                        tens for runtime management  commands  (see  RUNTIME  MANAGEMENT
                        COMMANDS, below).  If socket does not begin with /, it is inter‐
                        preted as relative to //var/run/openvswitch.   If  --unixctl  is
                        not   used   at  all,  the  default  socket  is  //var/run/open
                        vswitch/ovsdb-server.pid.ctl,  where   pid   is   ovsdb-server's
                        process ID.
          
                        On  Windows,  uses  a kernel chosen TCP port on the localhost to
                        listen for runtime management commands.  The kernel  chosen  TCP
                        port  value  is written in a file whose absolute path is pointed
                        by socket. If --unixctl is not used at all, the file is  created
                        as ovsdb-server.ctl in the configured OVS_RUNDIR directory.
          
                        Specifying none for socket disables the control socket feature.
          
                 -h
                 --help Prints a brief help message to the console.
          
                 -V
                 --version
                        Prints version information to the console.
          
          RUNTIME MANAGEMENT COMMANDS
                 ovs-appctl(8) can send commands to a running ovsdb-server process.  The
                 currently supported commands are described below.
          
             OVSDB-SERVER COMMANDS
                 These commands are specific to ovsdb-server.
          
                 exit   Causes ovsdb-server to gracefully terminate.
          
                 ovsdb-server/compact [db]...
                        Compacts each database db in-place.  If no db is specified, com‐
                        pacts every database in-place.  Databases are also automatically
                        compacted occasionally.
          
                 ovsdb-server/reconnect
                        Makes ovsdb-server drop all of the JSON-RPC connections to data‐
                        base clients and reconnect.
          
                        This  command might be useful for debugging issues with database
                        clients.
          
                 ovsdb-server/add-remote remote
                        Adds a remote, as if --remote=remote had been specified  on  the
                        ovsdb-server command line.  (If remote is already a remote, this
                        command succeeds without changing the configuration.)
          
                 ovsdb-server/remove-remote remote
                        Removes the specified remote  from  the  configuration,  failing
                        with  an  error  if  remote is not configured as a remote.  This
                        command only works with remotes that were named on  --remote  or
                        ovsdb-server/add-remote,  that  is,  it  will not remove remotes
                        added indirectly because they were read  from  the  database  by
                        configuring  a  db:db,table,column  remote.   (You  can remove a
                        database source with ovsdb-server/remove-remote db:db,table,col
                        umn,  but  not  individual  remotes found indirectly through the
                        database.)
          
                 ovsdb-server/list-remotes
                        Outputs a list of the  currently  configured  remotes  named  on
                        --remote  or  ovsdb-server/add-remote, that is, it does not list
                        remotes added indirectly because they were read from  the  data‐
                        base by configuring a db:db,table,column remote.
          
                 ovsdb-server/add-db database
                        Adds  the  database  to  the running ovsdb-server.  The database
                        file must already have been created and initialized  using,  for
                        example, ovsdb-tool create.
          
                 ovsdb-server/remove-db database
                        Removes  database  from the running ovsdb-server.  database must
                        be a database name as listed by ovsdb-server/list-dbs.
          
                        If a remote has been configured that  points  to  the  specified
                        database  (e.g.  --remote=db:database,...  on the command line),
                        then it will be disabled until another database  with  the  same
                        name is added again (with ovsdb-server/add-db).
          
                        Any  public  key  infrastructure  options specified through this
                        database  (e.g.  --private-key=db:database,...  on  the  command
                        line) will be disabled until another database with the same name
                        is added again (with ovsdb-server/add-db).
          
                 ovsdb-server/list-dbs
                        Outputs a list  of  the  currently  configured  databases  added
                        either    through    the    command    line   or   through   the
                        ovsdb-server/add-db command.
          
             VLOG COMMANDS
                 These commands manage ovsdb-server's logging settings.
          
                 vlog/set [spec]
                        Sets logging levels.  Without any spec, sets the log  level  for
                        every  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 com‐
                               mand 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 accepted as a word and is
                               only useful along with the  --syslog-target  option  (the
                               word has no effect otherwise).
          
                        ·      off,  emer,  err,  warn, info, or dbg, to control the log
                               level.  Messages of the given severity or higher will  be
                               logged,  and  messages of lower severity will be filtered
                               out.  off filters out all  messages.   See  ovs-appctl(8)
                               for a definition of each log level.
          
                        Case is not significant within spec.
          
                        Regardless  of  the  log  levels set for file, logging to a file
                        will not take place unless ovsdb-server  was  invoked  with  the
                        --log-file option.
          
                        For compatibility with older versions of OVS, any is accepted as
                        a word but has no effect.
          
                 vlog/set PATTERN:destination:pattern
                        Sets the log pattern  for  destination  to  pattern.   Refer  to
                        ovs-appctl(8) for a description of the valid syntax for pattern.
          
                 vlog/list
                        Lists the supported logging modules and their current levels.
          
                 vlog/list-pattern
                        Lists logging patterns used for each destination.
          
                 vlog/reopen
                        Causes  ovsdb-server to close and reopen its log file.  (This is
                        useful after rotating log files, to cause a new log file  to  be
                        used.)
          
                        This  has  no  effect  unless  ovsdb-server was invoked with the
                        --log-file option.
          
                 vlog/disable-rate-limit [module]...
                 vlog/enable-rate-limit [module]...
                        By default, ovsdb-server limits the rate at which  certain  mes‐
                        sages  can  be  logged.   When  a message would appear more fre‐
                        quently than the limit,  it  is  suppressed.   This  saves  disk
                        space,  makes  logs easier to read, and speeds up execution, but
                        occasionally troubleshooting requires more  detail.   Therefore,
                        vlog/disable-rate-limit allows rate limits to be disabled at the
                        level of an individual log module.  Specify one or  more  module
                        names, as displayed by the vlog/list command.  Specifying either
                        no module names at all or the keyword any disables  rate  limits
                        for every log module.
          
                        The  vlog/enable-rate-limit command, whose syntax is the same as
                        vlog/disable-rate-limit, can be used to re-enable a  rate  limit
                        that was previously disabled.
          
             MEMORY COMMANDS
                 These commands report memory usage.
          
                 memory/show
                        Displays  some  basic  statistics  about  ovsdb-server's  memory
                        usage.  ovsdb-server  also  logs  this  information  soon  after
                        startup and periodically as its memory consumption grows.
          
             COVERAGE COMMANDS
                 These commands manage ovsdb-server's ``coverage counters,'' which count
                 the number of times particular events occur during a daemon's  runtime.
                 In addition to these commands, ovsdb-server automatically logs coverage
                 counter values, at INFO level, when it detects that the  daemon's  main
                 loop takes unusually long to run.
          
                 Coverage counters are useful mainly for performance analysis and debug‐
                 ging.
          
                 coverage/show
                        Displays the averaged per-second rates for the last few seconds,
                        the  last  minute and the last hour, and the total counts of all
                        of the coverage counters.
          
          SPECIFICATIONS
                 ovsdb-server implements the  Open  vSwitch  Database  (OVSDB)  protocol
                 specified in RFC 7047, with the following clarifications:
          
                 3.1. JSON Usage
                        RFC  4627 says that names within a JSON object should be unique.
                        The Open vSwitch JSON parser discards all but the last value for
                        a name that is specified more than once.
          
                        The  definition of gt; allows for implementation extensions.
                        Currently ovsdb-server uses  the  following  additional  "error"
                        strings which might change in later releases):
          
                        syntax error or unknown column
                               The  request could not be parsed as an OVSDB request.  An
                               additional "syntax" member, whose value is a string  that
                               contains JSON, may narrow down the particular syntax that
                               could not be parsed.
          
                        internal error
                               The request triggered a bug in ovsdb-server.
          
                        ovsdb error
                               A map or set contains a duplicate key.
          
                 3.2. Schema Format
                        RFC 7047 requires  the  "version"  field  in  gt;.
                        Current  versions of ovsdb-server allow it to be omitted (future
                        versions are likely to require it).
          
                 4. Wire Protocol
                        The original OVSDB specifications included the following reason,
                        omitted  from  RFC  7047,  to  operate  JSON-RPC directly over a
                        stream instead of over HTTP:
          
                        ·      JSON-RPC is  a  peer-to-peer  protocol,  but  HTTP  is  a
                               client-server  protocol,  which  is  a poor match.  Thus,
                               JSON-RPC over HTTP requires the  client  to  periodically
                               poll the server to receive server requests.
          
                        ·      HTTP  is  more  complicated  than  stream connections and
                               doesn't provide any corresponding advantage.
          
                        ·      The JSON-RPC specification for HTTP transport  is  incom‐
                               plete.
          
                 4.1.5. Monitor
                        For  backward  compatibility,  ovsdb-server  currently permits a
                        single gt; to be used instead of an array;  it  is
                        treated   as   a   single-element  array.   Future  versions  of
                        ovsdb-server might remove this compatibility feature.
          
                        Because the gt; parameter is used to  match  subsequent
                        update  notifications  (see  below)  to  the request, it must be
                        unique among all active monitors.  ovsdb-server rejects  attempt
                        to create two monitors with the same identifier.
          
                 5.1. Notation
                        For  gt;,  RFC  7047  only  allows  the  use  of !=, ==,
                        includes, and excludes operators with set types.   Open  vSwitch
                        2.4  and later extend gt; to allow the use of =, >gt;>gt;=,
                        and >gt;>gt; operators with columns with type ``set of 0 or 1 integer''
                        and  ``set of 0 or 1 real''.  These conditions evaluate to false
                        when the column is empty, and otherwise as described in RFC 7047
                        for integer and real types.
          
          BUGS
                 In  Open  vSwitch  before  version 2.4, when ovsdb-server sent JSON-RPC
                 error responses to some requests, it incorrectly formulated  them  with
                 the result and error swapped, so that the response appeared to indicate
                 success (with a nonsensical result) rather than an error.  The requests
                 that suffered from this problem were:
          
                 transact
                 get_schema
                        Only if the request names a nonexistent database.
          
                 monitor
                 lock
                 unlock In all error cases.
          
                 Of  these  cases,  the  only  error  that a well-written application is
                 likely to encounter in practice is monitor of tables or columns that do
                 not  exist, in an situation where the application has been upgraded but
                 the old database schema is still temporarily in use.   To  handle  this
                 situation  gracefully, we recommend that clients should treat a monitor
                 response with a result that contains an  error  key-value  pair  as  an
                 error  (assuming  that  the database being monitored does not contain a
                 table named error).
          
          SEE ALSO
                 ovsdb-tool(1).
          
          
          
          Open vSwitch                         2.5.1                     ovsdb-server(1)
          
          现金李逵劈鱼