1ovs-vswitchd.conf.db(5)       Open vSwitch Manual      ovs-vswitchd.conf.db(5)
2
3
4

NAME

6       ovs-vswitchd.conf.db - Open_vSwitch database schema
7
8       A  database  with  this  schema  holds  the  configuration for one Open
9       vSwitch daemon. The top-level  configuration  for  the  daemon  is  the
10       Open_vSwitch  table,  which  must  have  exactly one record. Records in
11       other tables are significant only when they can be reached directly  or
12       indirectly  from the Open_vSwitch table. Records that are not reachable
13       from the Open_vSwitch table are automatically deleted  from  the  data‐
14       base, except for records in a few distinguished ``root set’’ tables.
15
16   Common Columns
17       Most  tables contain two special columns, named other_config and exter‐
18       nal_ids. These columns have the same form and purpose each  place  that
19       they appear, so we describe them here to save space later.
20
21              other_config: map of string-string pairs
22                     Key-value  pairs  for  configuring  rarely used features.
23                     Supported keys, along with the forms taken by their  val‐
24                     ues, are documented individually for each table.
25
26                     A  few tables do not have other_config columns because no
27                     key-value pairs have yet been defined for them.
28
29              external_ids: map of string-string pairs
30                     Key-value pairs for use by external frameworks that inte‐
31                     grate  with Open vSwitch, rather than by Open vSwitch it‐
32                     self. System  integrators  should  either  use  the  Open
33                     vSwitch  development mailing list to coordinate on common
34                     key-value definitions,  or  choose  key  names  that  are
35                     likely to be unique. In some cases, where key-value pairs
36                     have been defined that are likely to  be  widely  useful,
37                     they are documented individually for each table.
38

TABLE SUMMARY

40       The  following list summarizes the purpose of each of the tables in the
41       Open_vSwitch database.  Each table is described in  more  detail  on  a
42       later page.
43
44       Table     Purpose
45       Open_vSwitch
46                 Open vSwitch configuration.
47       Bridge    Bridge configuration.
48       Port      Port configuration.
49       Interface One physical network device in a Port.
50       Flow_Table
51                 OpenFlow table configuration
52       QoS       Quality of Service configuration
53       Queue     QoS output queue.
54       Mirror    Port mirroring.
55       Controller
56                 OpenFlow controller configuration.
57       Manager   OVSDB management connection.
58       NetFlow   NetFlow configuration.
59       Datapath  Datapath configuration.
60       CT_Zone   CT_Zone configuration.
61       CT_Timeout_Policy
62                 CT_Timeout_Policy configuration.
63       SSL       SSL configuration.
64       sFlow     sFlow configuration.
65       IPFIX     IPFIX configuration.
66       Flow_Sample_Collector_Set
67                 Flow_Sample_Collector_Set configuration.
68       AutoAttach
69                 AutoAttach configuration.
70

Open_vSwitch TABLE

72       Configuration  for  an  Open  vSwitch daemon. There must be exactly one
73       record in the Open_vSwitch table.
74
75   Summary:
76       Configuration:
77         datapaths                   map of string-Datapath pairs
78         bridges                     set of Bridges
79         ssl                         optional SSL
80         external_ids : system-id    optional string
81         external_ids : hostname     optional string
82         external_ids : rundir       optional string
83         other_config : stats-update-interval
84                                     optional string, containing  an  integer,
85                                     at least 5,000
86         other_config : flow-restore-wait
87                                     optional string, either true or false
88         other_config : flow-limit   optional  string,  containing an integer,
89                                     at least 0
90         other_config : max-idle     optional string, containing  an  integer,
91                                     at least 500
92         other_config : max-revalidator
93                                     optional  string,  containing an integer,
94                                     at least 100
95         other_config : min-revalidate-pps
96                                     optional string, containing  an  integer,
97                                     at least 0
98         other_config : offloaded-stats-delay
99                                     optional  string,  containing an integer,
100                                     at least 0
101         other_config : hw-offload   optional string, either true or false
102         other_config : n-offload-threads
103                                     optional string, containing  an  integer,
104                                     in range 1 to 10
105         other_config : tc-policy    optional string, one of none, skip_hw, or
106                                     skip_sw
107         other_config : dpdk-init    optional string, one of false,  true,  or
108                                     try
109         other_config : dpdk-lcore-mask
110                                     optional  string,  containing an integer,
111                                     at least 1
112         other_config : pmd-cpu-mask
113                                     optional string
114         other_config : dpdk-alloc-mem
115                                     optional string, containing  an  integer,
116                                     at least 0
117         other_config : dpdk-socket-mem
118                                     optional string
119         other_config : dpdk-socket-limit
120                                     optional string
121         other_config : dpdk-hugepage-dir
122                                     optional string
123         other_config : dpdk-extra   optional string
124         other_config : vhost-sock-dir
125                                     optional string
126         other_config : vhost-iommu-support
127                                     optional string, either true or false
128         other_config : vhost-postcopy-support
129                                     optional string, either true or false
130         other_config : per-port-memory
131                                     optional string, either true or false
132         other_config : shared-mempool-config
133                                     optional string
134         other_config : tx-flush-interval
135                                     optional  string,  containing an integer,
136                                     in range 0 to 1,000,000
137         other_config : pmd-perf-metrics
138                                     optional string, either true or false
139         other_config : smc-enable   optional string, either true or false
140         other_config : pmd-rxq-assign
141                                     optional string, one of cycles, group, or
142                                     roundrobin
143         other_config : pmd-rxq-isolate
144                                     optional string, either true or false
145         other_config : n-handler-threads
146                                     optional  string,  containing an integer,
147                                     at least 1
148         other_config : n-revalidator-threads
149                                     optional string, containing  an  integer,
150                                     at least 1
151         other_config : emc-insert-inv-prob
152                                     optional  string,  containing an integer,
153                                     in range 0 to 4,294,967,295
154         other_config : vlan-limit   optional string, containing  an  integer,
155                                     at least 0
156         other_config : bundle-idle-timeout
157                                     optional  string,  containing an integer,
158                                     at least 1
159         other_config : offload-rebalance
160                                     optional string, either true or false
161         other_config : pmd-auto-lb  optional string, either true or false
162         other_config : pmd-auto-lb-rebal-interval
163                                     optional string, containing  an  integer,
164                                     in range 0 to 20,000
165         other_config : pmd-auto-lb-load-threshold
166                                     optional  string,  containing an integer,
167                                     in range 0 to 100
168         other_config : pmd-auto-lb-improvement-threshold
169                                     optional string, containing  an  integer,
170                                     in range 0 to 100
171         other_config : pmd-sleep-max
172                                     optional  string,  containing an integer,
173                                     in range 0 to 10,000
174         other_config : userspace-tso-enable
175                                     optional string, either true or false
176       Status:
177         next_cfg                    integer
178         cur_cfg                     integer
179         dpdk_initialized            boolean
180         Statistics:
181            other_config : enable-statistics
182                                     optional string, either true or false
183            statistics : cpu         optional string, containing  an  integer,
184                                     at least 1
185            statistics : load_average
186                                     optional string
187            statistics : memory      optional string
188            statistics : process_NAME
189                                     optional string
190            statistics : file_systems
191                                     optional string
192       Version Reporting:
193         ovs_version                 optional string
194         db_version                  optional string
195         system_type                 optional string
196         system_version              optional string
197         dpdk_version                optional string
198       Capabilities:
199         datapath_types              set of strings
200         iface_types                 set of strings
201       Database Configuration:
202         manager_options             set of Managers
203       IPsec:
204         other_config : private_key  optional string
205         other_config : certificate  optional string
206         other_config : ca_cert      optional string
207         Plaintext Tunnel Policy:
208            other_config : ipsec_skb_mark
209                                     optional string
210       Common Columns:
211         other_config                map of string-string pairs
212         external_ids                map of string-string pairs
213
214   Details:
215     Configuration:
216
217       datapaths: map of string-Datapath pairs
218              Map  of datapath types to datapaths. The datapath_type column of
219              the Bridge table is used as a key for this map. The value points
220              to a row in the Datapath table.
221
222       bridges: set of Bridges
223              Set of bridges managed by the daemon.
224
225       ssl: optional SSL
226              SSL used globally by the daemon.
227
228       external_ids : system-id: optional string
229              A  unique  identifier  for the Open vSwitch’s physical host. The
230              form of the identifier depends on the type of the host.
231
232       external_ids : hostname: optional string
233              The hostname for the host running Open vSwitch. This is a  fully
234              qualified domain name since version 2.6.2.
235
236       external_ids : rundir: optional string
237              In  Open vSwitch 2.8 and later, the run directory of the running
238              Open vSwitch daemon. This directory is used  for  runtime  state
239              such  as control and management sockets. The value of other_con‐
240              fig:vhost-sock-dir is relative to this directory.
241
242       other_config : stats-update-interval: optional  string,  containing  an
243       integer, at least 5,000
244              Interval  for  updating statistics to the database, in millisec‐
245              onds. This option will affect the update of the statistics  col‐
246              umn in the following tables: Port, Interface , Mirror.
247
248              Default value is 5000 ms.
249
250              Getting statistics more frequently can be achieved via OpenFlow.
251
252       other_config : flow-restore-wait: optional string, either true or false
253              When  ovs-vswitchd  starts  up,  it  has an empty flow table and
254              therefore it handles all arriving packets in its default fashion
255              according to its configuration, by dropping them or sending them
256              to an OpenFlow controller or  switching  them  as  a  standalone
257              switch.  This  behavior  is  ordinarily  desirable.  However, if
258              ovs-vswitchd is restarting as part of  a  ``hot-upgrade,’’  then
259              this  leads to a relatively long period during which packets are
260              mishandled.
261
262              This option allows for  improvement.  When  ovs-vswitchd  starts
263              with  this  value  set  as true, it will neither flush or expire
264              previously set datapath flows nor will it send and  receive  any
265              packets to or from the datapath. When this value is later set to
266              false, ovs-vswitchd will start receiving packets from the  data‐
267              path and re-setup the flows.
268
269              Additionally,  ovs-vswitchd is prevented from connecting to con‐
270              trollers when this value is set  to  true.  This  prevents  con‐
271              trollers  from making changes to the flow table in the middle of
272              flow restoration, which could result in undesirable intermediate
273              states.  Once  this  value has been set to false and the desired
274              flow state has been restored, ovs-vswitchd will be able  to  re‐
275              connect  to controllers and process any new flow table modifica‐
276              tions.
277
278              Thus, with this option,  the  procedure  for  a  hot-upgrade  of
279              ovs-vswitchd becomes roughly the following:
280
281              1.  Stop ovs-vswitchd.
282
283              2.  Set other_config:flow-restore-wait to true.
284
285              3.  Start ovs-vswitchd.
286
287              4.  Use  ovs-ofctl  (or  some other program, such as an OpenFlow
288                  controller) to restore the OpenFlow flow table  to  the  de‐
289                  sired state.
290
291              5.  Set  other_config:flow-restore-wait  to  false (or remove it
292                  entirely from the database).
293
294              The ovs-ctl’s ``restart’’  and  ``force-reload-kmod’’  functions
295              use the above config option during hot upgrades.
296
297       other_config  :  flow-limit: optional string, containing an integer, at
298       least 0
299              The maximum number of flows allowed in the datapath flow  table.
300              Internally  OVS  will  choose  a flow limit which will likely be
301              lower than this number, based on real time  network  conditions.
302              Tweaking  this value is discouraged unless you know exactly what
303              you’re doing.
304
305              The default is 200000.
306
307       other_config : max-idle: optional string,  containing  an  integer,  at
308       least 500
309              The  maximum  time (in ms) that idle flows will remain cached in
310              the datapath. Internally OVS will check the validity and  activ‐
311              ity  for  datapath  flows regularly and may expire flows quicker
312              than this number, based on real time network conditions.  Tweak‐
313              ing  this  value  is  discouraged  unless  you know exactly what
314              you’re doing.
315
316              The default is 10000.
317
318       other_config : max-revalidator: optional string, containing an integer,
319       at least 100
320              The  maximum time (in ms) that revalidator threads will wait be‐
321              fore executing flow revalidation. Note that this is maximum  al‐
322              lowed  value.  Actual timeout used by OVS is minimum of max-idle
323              and max-revalidator values. Tweaking this value  is  discouraged
324              unless you know exactly what you’re doing.
325
326              The default is 500.
327
328       other_config : min-revalidate-pps: optional string, containing an inte‐
329       ger, at least 0
330              Set minimum pps that flow must have in order to  be  revalidated
331              when  revalidation duration exceeds half of max-revalidator con‐
332              fig variable. Setting to 0 means always revalidate flows regard‐
333              less of pps.
334
335              The default is 5.
336
337       other_config  :  offloaded-stats-delay:  optional string, containing an
338       integer, at least 0
339              Set worst case delay (in ms) it might take before statistics  of
340              offloaded  flows  are updated. Offloaded flows younger than this
341              delay will always be revalidated regardless of other_config:min-
342              revalidate-pps.
343
344              The default is 2000.
345
346       other_config : hw-offload: optional string, either true or false
347              Set this value to true to enable netdev flow offload.
348
349              The  default  value  is  false.  Changing  this  value  requires
350              restarting the daemon
351
352              Currently Open vSwitch supports  hardware  offloading  on  Linux
353              systems. On other systems, this value is ignored. This function‐
354              ality is considered ’experimental’. Depending on which  OpenFlow
355              matches  and  actions  are  configured,  which kernel version is
356              used, and what hardware is available, Open vSwitch  may  not  be
357              able to offload functionality to hardware.
358
359              In   order   to   dump   HW   offloaded   flows  use  ovs-appctl
360              dpctl/dump-flows, ovs-dpctl doesn’t support this  functionality.
361              See ovs-vswitchd(8) for details.
362
363       other_config  : n-offload-threads: optional string, containing an inte‐
364       ger, in range 1 to 10
365              Set this value to the number of threads created to manage  hard‐
366              ware offloads.
367
368              The  default value is 1. Changing this value requires restarting
369              the daemon.
370
371              This is  only  relevant  for  userspace  datapath  and  only  if
372              other_config:hw-offload is enabled.
373
374       other_config  :  tc-policy:  optional  string, one of none, skip_hw, or
375       skip_sw
376              Specified the policy used with HW offloading. Options:
377
378              none   Add software rule and offload rule to HW.
379
380              skip_sw
381                     Offload rule to HW only.
382
383              skip_hw
384                     Add software rule without offloading rule to HW.
385
386              This is only relevant if other_config:hw-offload is enabled.
387
388              The default value is none.
389
390       other_config : dpdk-init: optional string, one of false, true, or try
391              Set this value to true or try to enable runtime support for DPDK
392              ports.  The  vswitch  must have compile-time support for DPDK as
393              well.
394
395              A value of true will cause the ovs-vswitchd process to abort  if
396              DPDK  cannot  be initialized. A value of try will allow the ovs-
397              vswitchd process to continue running even if DPDK cannot be ini‐
398              tialized.
399
400              The  default  value  is  false.  Changing  this  value  requires
401              restarting the daemon
402
403              If this value is false at startup, any dpdk ports which are con‐
404              figured in the bridge will fail due to memory errors.
405
406       other_config : dpdk-lcore-mask: optional string, containing an integer,
407       at least 1
408              Specifies the CPU cores  where  dpdk  lcore  threads  should  be
409              spawned. The DPDK lcore threads are used for DPDK library tasks,
410              such as library internal message processing, logging, etc. Value
411              should  be  in  the form of a hex string (so ’0x123’) similar to
412              the ’taskset’ mask input.
413
414              The lowest order bit corresponds to the first CPU  core.  A  set
415              bit  means  the  corresponding  core  is  available and an lcore
416              thread will be created and pinned to it. If the input  does  not
417              cover all cores, those uncovered cores are considered not set.
418
419              For performance reasons, it is best to set this to a single core
420              on the system, rather than allow lcore threads to float.
421
422              If not specified, the value will be determined by  choosing  the
423              lowest  CPU  core from initial cpu affinity list. Otherwise, the
424              value will be passed directly to the DPDK library.
425
426       other_config : pmd-cpu-mask: optional string
427              Specifies CPU mask for setting the cpu  affinity  of  PMD  (Poll
428              Mode Driver) threads. Value should be in the form of hex string,
429              similar to the dpdk  EAL  ’-c  COREMASK’  option  input  or  the
430              ’taskset’ mask input.
431
432              The  lowest  order  bit corresponds to the first CPU core. A set
433              bit means the corresponding core is available and a  pmd  thread
434              will  be  created  and pinned to it. If the input does not cover
435              all cores, those uncovered cores are considered not set.
436
437              If not specified, one pmd thread will be created for  each  numa
438              node  and  pinned  to any available core on the numa node by de‐
439              fault.
440
441       other_config : dpdk-alloc-mem: optional string, containing an  integer,
442       at least 0
443              Specifies  the amount of memory to preallocate from the hugepage
444              pool, regardless of socket. It is recommended that  dpdk-socket-
445              mem is used instead.
446
447       other_config : dpdk-socket-mem: optional string
448              Specifies  the amount of memory to preallocate from the hugepage
449              pool, on a per-socket basis.
450
451              The specifier is a comma-separated string, in ascending order of
452              CPU  socket.  E.g. On a four socket system 1024,0,2048 would set
453              socket 0 to preallocate 1024MB, socket  1  to  preallocate  0MB,
454              socket  2 to preallocate 2048MB and socket 3 (no value given) to
455              preallocate 0MB.
456
457              If other_config:dpdk-socket-mem and  other_config:dpdk-alloc-mem
458              are not specified, neither will be used and there will be no de‐
459              fault value for each numa node. DPDK defaults will be  used  in‐
460              stead. If other_config:dpdk-socket-mem and other_config:dpdk-al‐
461              loc-mem are  specified  at  the  same  time,  other_config:dpdk-
462              socket-mem will be used as default. Changing this value requires
463              restarting the daemon.
464
465       other_config : dpdk-socket-limit: optional string
466              Limits the maximum amount of memory that can be  used  from  the
467              hugepage pool, on a per-socket basis.
468
469              The  specifier  is  a  comma-separated list of memory limits per
470              socket. 0 will disable the limit for a particular socket.
471
472              If not specified, OVS will  not  configure  limits  by  default.
473              Changing this value requires restarting the daemon.
474
475       other_config : dpdk-hugepage-dir: optional string
476              Specifies the path to the hugetlbfs mount point.
477
478              If  not specified, this will be guessed by the DPDK library (de‐
479              fault is /dev/hugepages). Changing this value requires  restart‐
480              ing the daemon.
481
482       other_config : dpdk-extra: optional string
483              Specifies additional eal command line arguments for DPDK.
484
485              The  default  is  empty. Changing this value requires restarting
486              the daemon
487
488       other_config : vhost-sock-dir: optional string
489              Specifies a relative path from external_ids:rundir to the vhost-
490              user unix domain socket files. If this value is unset, the sock‐
491              ets are put directly in external_ids:rundir.
492
493              Changing this value requires restarting the daemon.
494
495       other_config : vhost-iommu-support: optional  string,  either  true  or
496       false
497              vHost  IOMMU  is  a  security feature, which restricts the vhost
498              memory that a virtio device may access. vHost IOMMU  support  is
499              disabled by default, due to a bug in QEMU implementations of the
500              vhost REPLY_ACK protocol, (on which vHost IOMMU relies) prior to
501              v2.9.1.  Setting  this value to true enables vHost IOMMU support
502              for vHost User Client ports  in  OvS-DPDK,  starting  from  DPDK
503              v17.11.
504
505              Changing this value requires restarting the daemon.
506
507       other_config  : vhost-postcopy-support: optional string, either true or
508       false
509              vHost post-copy is a feature which allows switching live  migra‐
510              tion  of  VM  attached  to dpdkvhostuserclient port to post-copy
511              mode if default pre-copy migration can not be converged or takes
512              too  long  to converge. Setting this value to true enables vHost
513              post-copy support for all dpdkvhostuserclient  ports.  Available
514              starting from DPDK v18.11 and QEMU 2.12.
515
516              Changing this value requires restarting the daemon.
517
518       other_config : per-port-memory: optional string, either true or false
519              By  default  OVS DPDK uses a shared memory model wherein devices
520              that have the same MTU and socket values can share the same mem‐
521              pool.  Setting  this  value  to true changes this behaviour. Per
522              port memory allow DPDK devices to use private memory per device.
523              This  can  provide  greater transparency as regards memory usage
524              but potentially at the cost of greater memory requirements.
525
526              Changing this value requires restarting the daemon if  dpdk-init
527              has already been set to true.
528
529       other_config : shared-mempool-config: optional string
530              Specifies dpdk shared mempool config.
531
532              Value should be set in the following form:
533
534              other_config:shared-mempool-config=<            user-shared-mem‐
535              pool-mtu-list>
536
537              where
538
539              •      <user-shared-mempool-mtu-list>  ::=  NULL  |  <non-empty-
540                     list>
541
542              •      <non-empty-list>  ::=  <user-mtus>  | <user-mtus> , <non-
543                     empty-list>
544
545              •      <user-mtus> ::= <mtu-all-socket> | <mtu-socket-pair>
546
547              •      <mtu-all-socket> ::= <mtu>
548
549              •      <mtu-socket-pair> ::= <mtu> : <socket-id>
550
551              Changing this value requires restarting the daemon if  dpdk-init
552              has already been set to true.
553
554       other_config  : tx-flush-interval: optional string, containing an inte‐
555       ger, in range 0 to 1,000,000
556              Specifies the time in microseconds that a  packet  can  wait  in
557              output  batch  for  sending  i.e. amount of time that packet can
558              spend in an intermediate output queue before sending to  netdev.
559              This  option can be used to configure balance between throughput
560              and latency. Lower values decreases latency while higher  values
561              may be useful to achieve higher performance.
562
563              Defaults to 0 i.e. instant packet sending (latency optimized).
564
565       other_config : pmd-perf-metrics: optional string, either true or false
566              Enables recording of detailed PMD performance metrics for analy‐
567              sis and trouble-shooting. This can have a performance impact  in
568              the order of 1%.
569
570              Defaults to false but can be changed at any time.
571
572       other_config : smc-enable: optional string, either true or false
573              Signature match cache or SMC is a cache between EMC and megaflow
574              cache. It does not store the full key of the flow, so it is more
575              memory  efficient comparing to EMC cache. SMC is especially use‐
576              ful when flow count is larger than EMC capacity.
577
578              Defaults to false but can be changed at any time.
579
580       other_config : pmd-rxq-assign: optional string, one of  cycles,  group,
581       or roundrobin
582              Specifies  how  RX  queues will be automatically assigned to CPU
583              cores. Options:
584
585              cycles Rxqs will be sorted by order of measured  processing  cy‐
586                     cles before being assigned to CPU cores.
587
588              roundrobin
589                     Rxqs will be round-robined across CPU cores.
590
591              group  Rxqs  will  be sorted by order of measured processing cy‐
592                     cles before being assigned to CPU cores with lowest esti‐
593                     mated load.
594
595              The default value is cycles.
596
597              Changing  this  value  will affect an automatic re-assignment of
598              Rxqs to CPUs. Note: Rxqs mapped to CPU cores with pmd-rxq-affin‐
599              ity are unaffected.
600
601       other_config : pmd-rxq-isolate: optional string, either true or false
602              Specifies if a CPU core will be isolated after being pinned with
603              an Rx queue.
604
605              Set this value to false to non-isolate a CPU core  after  it  is
606              pinned  with  an Rxq using pmd-rxq-affinity. This will allow OVS
607              to assign other Rxqs to that CPU core.
608
609              The default value is true.
610
611              This can only be false when pmd-rxq-assign is set to group.
612
613       other_config : n-handler-threads: optional string, containing an  inte‐
614       ger, at least 1
615              Attempts to specify the number of threads for software datapaths
616              to use for handling new flows. Some datapaths may choose to  ig‐
617              nore  this and it will be set to a sensible option for the data‐
618              path type.
619
620              This configuration is per datapath. If you have  more  than  one
621              software  datapath  (e.g.  some  system  bridges and some netdev
622              bridges), then the total number of threads is  n-handler-threads
623              times the number of software datapaths.
624
625       other_config  :  n-revalidator-threads:  optional string, containing an
626       integer, at least 1
627              Attempts to specify the number of threads for software datapaths
628              to  use  for  revalidating flows in the datapath. Some datapaths
629              may choose to ignore this and will set to a sensible option  for
630              the datapath type.
631
632              Typically,  there  is a direct correlation between the number of
633              revalidator threads, and the number  of  flows  allowed  in  the
634              datapath. The default is the number of cpu cores divided by four
635              plus one. If n-handler-threads is set, the  default  changes  to
636              the number of cpu cores minus the number of handler threads.
637
638              This  configuration  is  per datapath. If you have more than one
639              software datapath (e.g. some  system  bridges  and  some  netdev
640              bridges),  then the total number of threads is n-handler-threads
641              times the number of software datapaths.
642
643       other_config : emc-insert-inv-prob: optional string, containing an  in‐
644       teger, in range 0 to 4,294,967,295
645              Specifies  the  inverse probability (1/emc-insert-inv-prob) of a
646              flow being inserted into the Exact Match Cache (EMC). On average
647              one  in every emc-insert-inv-prob packets that generate a unique
648              flow will cause an insertion into the EMC. A value of 1 will re‐
649              sult in an insertion for every flow (1/1 = 100%) whereas a value
650              of zero will result in no insertions and essentially disable the
651              EMC.
652
653              Defaults  to  100 ie. there is (1/100 =) 1% chance of EMC inser‐
654              tion.
655
656       other_config : vlan-limit: optional string, containing an  integer,  at
657       least 0
658              Limits  the  number  of  VLAN headers that can be matched to the
659              specified number. Further VLAN headers will be treated  as  pay‐
660              load, e.g. a packet with more 802.1q headers will match Ethernet
661              type 0x8100.
662
663              Open vSwitch userspace currently supports at most 2  VLANs,  and
664              each  datapath  has  its own limit. If vlan-limit is nonzero, it
665              acts as a further limit.
666
667              If this value is absent, the default is currently 1. This  main‐
668              tains backward compatibility with controllers that were designed
669              for use with Open vSwitch versions earlier than 2.8, which  only
670              supported one VLAN.
671
672       other_config  : bundle-idle-timeout: optional string, containing an in‐
673       teger, at least 1
674              The maximum time (in seconds) that idle bundles will wait to  be
675              expired since it was either opened, modified or closed.
676
677              OpenFlow  specification  mandates the timeout to be at least one
678              second. The default is 10 seconds.
679
680       other_config : offload-rebalance: optional string, either true or false
681              Configures HW offload rebalancing, that  allows  to  dynamically
682              offload  and  un-offload flows while an offload-device is out of
683              resources (OOR). This policy allows flows to be selected for of‐
684              floading based on the packets-per-second (pps) rate of flows.
685
686              Set this value to true to enable this option.
687
688              The  default  value  is  false.  Changing  this  value  requires
689              restarting the daemon.
690
691              This is only relevant if HW offloading is enabled  (hw-offload).
692              When  this policy is enabled, it also requires ’tc-policy’ to be
693              set to ’skip_sw’.
694
695       other_config : pmd-auto-lb: optional string, either true or false
696              Configures PMD Auto Load Balancing that allows automatic assign‐
697              ment  of  RX queues to PMDs if any of PMDs is overloaded (i.e. a
698              processing cycles > other_config:pmd-auto-lb-load-threshold).
699
700              It uses current scheme of cycle based assignment  of  RX  queues
701              that are not statically pinned to PMDs.
702
703              The default value is false.
704
705              Set  this  value  to true to enable this option. It is currently
706              disabled by default and an experimental feature.
707
708              This only comes in effect if cycle based assignment  is  enabled
709              and  there  are  more  than one non-isolated PMDs present and at
710              least one of it polls more than one queue.
711
712       other_config : pmd-auto-lb-rebal-interval: optional string,  containing
713       an integer, in range 0 to 20,000
714              The  minimum  time (in minutes) 2 consecutive PMD Auto Load Bal‐
715              ancing iterations.
716
717              The default value is 1 min. If configured to 0 then it would  be
718              converted to default value i.e. 1 min
719
720              This  option can be configured to avoid frequent trigger of auto
721              load balancing of PMDs. For e.g. set the  value  (in  min)  such
722              that it occurs once in few hours or a day or a week.
723
724       other_config  : pmd-auto-lb-load-threshold: optional string, containing
725       an integer, in range 0 to 100
726              Specifies the minimum PMD thread load threshold (% of  used  cy‐
727              cles)  of any non-isolated PMD threads when a PMD Auto Load Bal‐
728              ance may be triggered.
729
730              The default value is 95%.
731
732       other_config : pmd-auto-lb-improvement-threshold: optional string, con‐
733       taining an integer, in range 0 to 100
734              Specifies  the minimum evaluated % improvement in load distribu‐
735              tion across the non-isolated PMD threads that will allow  a  PMD
736              Auto Load Balance to occur.
737
738              Note, setting this parameter to 0 will always allow an auto load
739              balance to occur regardless of estimated improvement or not.
740
741              The default value is 25%.
742
743       other_config : pmd-sleep-max: optional string, containing  an  integer,
744       in range 0 to 10,000
745              Specifies  the  maximum sleep time that will be requested in mi‐
746              croseconds per iteration for a PMD  thread  which  has  received
747              zero  or  a  small  amount  of  packets from the Rx queues it is
748              polling.
749
750              The actual sleep time requested is based on the load of  the  Rx
751              queues  that  the  PMD  polls  and  may be less than the maximum
752              value.
753
754              The default value is 0 microseconds, which means  that  the  PMD
755              will not sleep regardless of the load from the Rx queues that it
756              polls.
757
758              The maximum value is 10000 microseconds.
759
760       other_config : userspace-tso-enable: optional string,  either  true  or
761       false
762              Set  this value to true to enable userspace support for TCP Seg‐
763              mentation Offloading (TSO). When it is enabled,  the  interfaces
764              can  provide  an  oversized  TCP segment to the datapath and the
765              datapath will offload the TCP segmentation and checksum calcula‐
766              tion to the interfaces when necessary.
767
768              The  default  value  is  false.  Changing  this  value  requires
769              restarting the daemon.
770
771              The feature only works if Open vSwitch is built with  DPDK  sup‐
772              port.
773
774              The feature is considered experimental.
775
776     Status:
777
778       next_cfg: integer
779              Sequence  number for client to increment. When a client modifies
780              any part of the database configuration and wishes  to  wait  for
781              Open  vSwitch  to  finish applying the changes, it may increment
782              this sequence number.
783
784       cur_cfg: integer
785              Sequence number that Open vSwitch sets to the current  value  of
786              next_cfg  after  it  finishes  applying  a  set of configuration
787              changes.
788
789       dpdk_initialized: boolean
790              True if other_config:dpdk-init is set to true and the  DPDK  li‐
791              brary is successfully initialized.
792
793     Statistics:
794
795       The  statistics  column contains key-value pairs that report statistics
796       about a system running an Open vSwitch. These are updated  periodically
797       (currently, every 5 seconds). Key-value pairs that cannot be determined
798       or that do not apply to a platform are omitted.
799
800       other_config : enable-statistics: optional string, either true or false
801              Statistics are disabled by default to avoid overhead in the com‐
802              mon case when statistics gathering is not useful. Set this value
803              to true to enable populating the statistics column or  to  false
804              to explicitly disable it.
805
806       statistics : cpu: optional string, containing an integer, at least 1
807              Number of CPU processors, threads, or cores currently online and
808              available to the operating system on which Open vSwitch is  run‐
809              ning, as an integer. This may be less than the number installed,
810              if some are not online or if they are not available to the oper‐
811              ating system.
812
813              Open  vSwitch userspace processes are not multithreaded, but the
814              Linux kernel-based datapath is.
815
816       statistics : load_average: optional string
817              A comma-separated list of three floating-point  numbers,  repre‐
818              senting  the system load average over the last 1, 5, and 15 min‐
819              utes, respectively.
820
821       statistics : memory: optional string
822              A comma-separated list of integers, each of which  represents  a
823              quantity  of  memory  in  kilobytes that describes the operating
824              system on which Open vSwitch is running.  In  respective  order,
825              these values are:
826
827              1.  Total amount of RAM allocated to the OS.
828
829              2.  RAM allocated to the OS that is in use.
830
831              3.  RAM  that  can be flushed out to disk or otherwise discarded
832                  if that space is needed for another purpose. This number  is
833                  necessarily less than or equal to the previous value.
834
835              4.  Total disk space allocated for swap.
836
837              5.  Swap space currently in use.
838
839              On Linux, all five values can be determined and are included. On
840              other operating systems, only the first two values can be deter‐
841              mined, so the list will only have two values.
842
843       statistics : process_NAME: optional string
844              One  such  key-value pair, with NAME replaced by a process name,
845              will exist for each running Open vSwitch  daemon  process,  with
846              name  replaced by the daemon’s name (e.g. process_ovs-vswitchd).
847              The value is a comma-separated list of  integers.  The  integers
848              represent  the  following, with memory measured in kilobytes and
849              durations in milliseconds:
850
851              1.  The process’s virtual memory size.
852
853              2.  The process’s resident set size.
854
855              3.  The amount of user and  system  CPU  time  consumed  by  the
856                  process.
857
858              4.  The  number  of  times that the process has crashed and been
859                  automatically restarted by the monitor.
860
861              5.  The duration since the process was started.
862
863              6.  The duration for which the process has been running.
864
865              The interpretation of some of these values  depends  on  whether
866              the  process was started with the --monitor. If it was not, then
867              the crash count will always be 0 and the two durations will  al‐
868              ways  be  the same. If --monitor was given, then the crash count
869              may be positive; if it is, the latter duration is the amount  of
870              time since the most recent crash and restart.
871
872              There will be one key-value pair for each file in Open vSwitch’s
873              ``run directory’’ (usually /var/run/openvswitch) whose name ends
874              in .pid, whose contents are a process ID, and which is locked by
875              a running process. The name is taken from the pidfile’s name.
876
877              Currently Open vSwitch is only able to obtain all of  the  above
878              detail  on  Linux  systems. On other systems, the same key-value
879              pairs will be present but the values will always  be  the  empty
880              string.
881
882       statistics : file_systems: optional string
883              A  space-separated  list  of information on local, writable file
884              systems. Each item in the list describes  one  file  system  and
885              consists in turn of a comma-separated list of the following:
886
887              1.  Mount point, e.g. / or /var/log. Any spaces or commas in the
888                  mount point are replaced by underscores.
889
890              2.  Total size, in kilobytes, as an integer.
891
892              3.  Amount of storage in use, in kilobytes, as an integer.
893
894              This key-value pair is omitted if there are no  local,  writable
895              file  systems or if Open vSwitch cannot obtain the needed infor‐
896              mation.
897
898     Version Reporting:
899
900       These columns report the types and versions of the hardware  and  soft‐
901       ware running Open vSwitch. We recommend in general that software should
902       test whether specific features are supported instead of relying on ver‐
903       sion  number  checks. These values are primarily intended for reporting
904       to human administrators.
905
906       ovs_version: optional string
907              The Open vSwitch version number, e.g. 1.1.0.
908
909       db_version: optional string
910              The database schema  version  number,  e.g.  1.2.3.  See  ovsdb-
911              tool(1) for an explanation of the numbering scheme.
912
913              The  schema  version  is  part of the database schema, so it can
914              also be retrieved by fetching the schema using the Open  vSwitch
915              database protocol.
916
917       system_type: optional string
918              An  identifier  for  the  type  of  system  on top of which Open
919              vSwitch runs, e.g. KVM.
920
921              System integrators are responsible for choosing and  setting  an
922              appropriate value for this column.
923
924       system_version: optional string
925              The  version  of  the  system  identified  by  system_type, e.g.
926              4.18.0-372.19.1.el8_6 on RHEL 8.6 with kernel 4.18.0-372.19.1.
927
928              System integrators are responsible for choosing and  setting  an
929              appropriate value for this column.
930
931       dpdk_version: optional string
932              The version of the linked DPDK library.
933
934     Capabilities:
935
936       These columns report capabilities of the Open vSwitch instance.
937
938       datapath_types: set of strings
939              This column reports the different dpifs registered with the sys‐
940              tem. These are the values that this  instance  supports  in  the
941              datapath_type column of the Bridge table.
942
943       iface_types: set of strings
944              This  column  reports  the different netdevs registered with the
945              system. These are the values that this instance supports in  the
946              type column of the Interface table.
947
948     Database Configuration:
949
950       These   columns   primarily   configure   the   Open  vSwitch  database
951       (ovsdb-server), not the Open vSwitch switch (ovs-vswitchd).  The  OVSDB
952       database also uses the ssl settings.
953
954       The  Open vSwitch switch does read the database configuration to deter‐
955       mine remote IP addresses to which in-band control should apply.
956
957       manager_options: set of Managers
958              Database clients to  which  the  Open  vSwitch  database  server
959              should  connect or to which it should listen, along with options
960              for how these connections should be configured. See the  Manager
961              table for more information.
962
963              For  this column to serve its purpose, ovsdb-server must be con‐
964              figured to honor it. The easiest way to do  this  is  to  invoke
965              ovsdb-server         with         the        option        --re‐
966              mote=db:Open_vSwitch,Open_vSwitch,manager_options  The   startup
967              scripts that accompany Open vSwitch do this by default.
968
969     IPsec:
970
971       These  settings  control the global configuration of IPsec tunnels. The
972       options column of the Interface table configures IPsec  for  individual
973       tunnels.  The  options  column  also allows for custom options prefixed
974       with ipsec_ to be passed to the individual connections.
975
976       OVS IPsec supports the following three forms  of  authentication.  Cur‐
977       rently, all IPsec tunnels must use the same form:
978
979              1.  Pre-shared  keys:  Omit the global settings. On each tunnel,
980                  set options:psk.
981
982              2.  Self-signed certificates: Set the private_key  and  certifi‐
983                  cate  global  settings.  On  each  tunnel,  set  options:re‐
984                  mote_cert. The remote certificate can be self-signed.
985
986              3.  CA-signed certificates: Set all of the global  settings.  On
987                  each tunnel, set options:remote_name to the common name (CN)
988                  of the remote certificate. The remote  certificate  must  be
989                  signed by the CA.
990
991       other_config : private_key: optional string
992              Name  of  a  PEM  file  containing  the  private key used as the
993              switch’s identity for IPsec tunnels.
994
995       other_config : certificate: optional string
996              Name of a PEM file containing a certificate that  certifies  the
997              switch’s  private  key,  and identifies a trustworthy switch for
998              IPsec tunnels. The certificate must be x.509 version 3 and  with
999              the  string in common name (CN) also set in the subject alterna‐
1000              tive name (SAN).
1001
1002       other_config : ca_cert: optional string
1003              Name of a PEM file containing the CA certificate used to  verify
1004              that a remote switch of the IPsec tunnel is trustworthy.
1005
1006     Plaintext Tunnel Policy:
1007
1008       When  an IPsec tunnel is configured in this database, multiple indepen‐
1009       dent components take responsibility for implementing  it.  ovs-vswitchd
1010       and  its datapath handle packet forwarding to the tunnel and a separate
1011       daemon pushes the tunnel’s IPsec policy configuration to the kernel  or
1012       other entity that implements it. There is a race: if the former config‐
1013       uration completes before the latter, then packets  sent  by  the  local
1014       host  over  the tunnel can be transmitted in plaintext. Using this set‐
1015       ting, OVS users can avoid this undesirable situation.
1016
1017       other_config : ipsec_skb_mark: optional string
1018              This setting takes the form value/mask. If it is specified, then
1019              the  skb_mark  field  in  every outgoing tunneled packet sent in
1020              plaintext is compared against it and, if it matches, the  packet
1021              is  dropped.  This  is a global setting that is applied to every
1022              tunneled packet, regardless of whether IPsec encryption  is  en‐
1023              abled  for the tunnel, the type of tunnel, or whether OVS is in‐
1024              volved.
1025
1026              Example policies:
1027
1028              1/1    Drop all unencrypted tunneled packets in which the least-
1029                     significant  bit of skb_mark is 1. This would be a useful
1030                     policy given an OpenFlow flow table that sets skb_mark to
1031                     1  for  traffic  that  should  be  encrypted. The default
1032                     skb_mark is 0, so this would not affect other traffic.
1033
1034              0/1    Drop all unencrypted tunneled packets in which the least-
1035                     significant  bit of skb_mark is 0. This would be a useful
1036                     policy if no unencrypted tunneled traffic should exit the
1037                     system  without  being  specially  permitted  by  setting
1038                     skb_mark to 1.
1039
1040              (empty)
1041                     If this setting is empty or unset, then  all  unencrypted
1042                     tunneled packets are transmitted in the usual way.
1043
1044     Common Columns:
1045
1046       The  overall purpose of these columns is described under Common Columns
1047       at the beginning of this document.
1048
1049       other_config: map of string-string pairs
1050
1051       external_ids: map of string-string pairs
1052

Bridge TABLE

1054       Configuration for a bridge within an Open_vSwitch.
1055
1056       A Bridge  record  represents  an  Ethernet  switch  with  one  or  more
1057       ``ports,’’  which are the Port records pointed to by the Bridge’s ports
1058       column.
1059
1060   Summary:
1061       Core Features:
1062         name                        immutable string (must be  unique  within
1063                                     table)
1064         ports                       set of Ports
1065         mirrors                     set of Mirrors
1066         netflow                     optional NetFlow
1067         sflow                       optional sFlow
1068         ipfix                       optional IPFIX
1069         flood_vlans                 set  of  up to 4,096 integers, in range 0
1070                                     to 4,095
1071         auto_attach                 optional AutoAttach
1072       OpenFlow Configuration:
1073         controller                  set of Controllers
1074         flow_tables                 map of integer-Flow_Table pairs,  key  in
1075                                     range 0 to 254
1076         fail_mode                   optional  string, either secure or stand‐
1077                                     alone
1078         datapath_id                 optional string
1079         datapath_version            string
1080         other_config : datapath-id  optional string
1081         other_config : dp-desc      optional string
1082         other_config : dp-sn        optional string
1083         other_config : disable-in-band
1084                                     optional string, either true or false
1085         other_config : in-band-queue
1086                                     optional string, containing  an  integer,
1087                                     in range 0 to 4,294,967,295
1088         other_config : controller-queue-size
1089                                     optional  string,  containing an integer,
1090                                     in range 1 to 512
1091         protocols                   set of strings, one of OpenFlow10,  Open‐
1092                                     Flow11,   OpenFlow12,  OpenFlow13,  Open‐
1093                                     Flow14, or OpenFlow15
1094       Spanning Tree Configuration:
1095         STP Configuration:
1096            stp_enable               boolean
1097            other_config : stp-system-id
1098                                     optional string
1099            other_config : stp-priority
1100                                     optional string, containing  an  integer,
1101                                     in range 0 to 65,535
1102            other_config : stp-hello-time
1103                                     optional  string,  containing an integer,
1104                                     in range 1 to 10
1105            other_config : stp-max-age
1106                                     optional string, containing  an  integer,
1107                                     in range 6 to 40
1108            other_config : stp-forward-delay
1109                                     optional  string,  containing an integer,
1110                                     in range 4 to 30
1111            other_config : mcast-snooping-aging-time
1112                                     optional string, containing  an  integer,
1113                                     at least 1
1114            other_config : mcast-snooping-table-size
1115                                     optional  string,  containing an integer,
1116                                     at least 1
1117            other_config : mcast-snooping-disable-flood-unregistered
1118                                     optional string, either true or false
1119         STP Status:
1120            status : stp_bridge_id   optional string
1121            status : stp_designated_root
1122                                     optional string
1123            status : stp_root_path_cost
1124                                     optional string
1125       Rapid Spanning Tree:
1126         RSTP Configuration:
1127            rstp_enable              boolean
1128            other_config : rstp-address
1129                                     optional string
1130            other_config : rstp-priority
1131                                     optional string, containing  an  integer,
1132                                     in range 0 to 61,440
1133            other_config : rstp-ageing-time
1134                                     optional  string,  containing an integer,
1135                                     in range 10 to 1,000,000
1136            other_config : rstp-force-protocol-version
1137                                     optional string, containing an integer
1138            other_config : rstp-max-age
1139                                     optional string, containing  an  integer,
1140                                     in range 6 to 40
1141            other_config : rstp-forward-delay
1142                                     optional  string,  containing an integer,
1143                                     in range 4 to 30
1144            other_config : rstp-transmit-hold-count
1145                                     optional string, containing  an  integer,
1146                                     in range 1 to 10
1147         RSTP Status:
1148            rstp_status : rstp_bridge_id
1149                                     optional string
1150            rstp_status : rstp_root_id
1151                                     optional string
1152            rstp_status : rstp_root_path_cost
1153                                     optional  string,  containing an integer,
1154                                     at least 0
1155            rstp_status : rstp_designated_id
1156                                     optional string
1157            rstp_status : rstp_designated_port_id
1158                                     optional string
1159            rstp_status : rstp_bridge_port_id
1160                                     optional string
1161       Multicast Snooping Configuration:
1162         mcast_snooping_enable       boolean
1163       Other Features:
1164         datapath_type               string
1165         external_ids : bridge-id    optional string
1166         other_config : hwaddr       optional string
1167         other_config : forward-bpdu
1168                                     optional string, either true or false
1169         other_config : mac-aging-time
1170                                     optional string, containing  an  integer,
1171                                     at least 1
1172         other_config : mac-table-size
1173                                     optional  string,  containing an integer,
1174                                     at least 1
1175       Common Columns:
1176         other_config                map of string-string pairs
1177         external_ids                map of string-string pairs
1178
1179   Details:
1180     Core Features:
1181
1182       name: immutable string (must be unique within table)
1183              Bridge identifier. Must be unique among the names of ports,  in‐
1184              terfaces, and bridges on a host.
1185
1186              The  name  must  be alphanumeric and must not contain forward or
1187              backward slashes. The name of a bridge is also the  name  of  an
1188              Interface (and a Port) within the bridge, so the restrictions on
1189              the name column in the Interface table, particularly on  length,
1190              also  apply  to bridge names. Refer to the documentation for In‐
1191              terface names for details.
1192
1193       ports: set of Ports
1194              Ports included in the bridge.
1195
1196       mirrors: set of Mirrors
1197              Port mirroring configuration.
1198
1199       netflow: optional NetFlow
1200              NetFlow configuration.
1201
1202       sflow: optional sFlow
1203              sFlow(R) configuration.
1204
1205       ipfix: optional IPFIX
1206              IPFIX configuration.
1207
1208       flood_vlans: set of up to 4,096 integers, in range 0 to 4,095
1209              VLAN IDs of VLANs on which MAC address learning should  be  dis‐
1210              abled, so that packets are flooded instead of being sent to spe‐
1211              cific ports that are believed to  contain  packets’  destination
1212              MACs.  This should ordinarily be used to disable MAC learning on
1213              VLANs used for mirroring (RSPAN VLANs). It may  also  be  useful
1214              for debugging.
1215
1216              SLB  bonding (see the bond_mode column in the Port table) is in‐
1217              compatible with flood_vlans. Consider using another bonding mode
1218              or a different type of mirror instead.
1219
1220       auto_attach: optional AutoAttach
1221              Auto Attach configuration.
1222
1223     OpenFlow Configuration:
1224
1225       controller: set of Controllers
1226              OpenFlow  controller set. If unset, then no OpenFlow controllers
1227              will be used.
1228
1229              If there are primary controllers, removing all  of  them  clears
1230              the OpenFlow flow tables, group table, and meter table. If there
1231              are no primary controllers, adding one also clears these tables.
1232              Other  changes  to the set of controllers, such as adding or re‐
1233              moving a service controller, adding another  primary  controller
1234              to  supplement  an existing primary controller, or removing only
1235              one of two primary controllers, have no effect on these tables.
1236
1237       flow_tables: map of integer-Flow_Table pairs, key in range 0 to 254
1238              Configuration for OpenFlow tables. Each pair maps from an  Open‐
1239              Flow table ID to configuration for that table.
1240
1241       fail_mode: optional string, either secure or standalone
1242              When  a controller is configured, it is, ordinarily, responsible
1243              for setting up all flows on the switch. Thus, if the  connection
1244              to  the  controller fails, no new network connections can be set
1245              up. If the connection to the controller stays down long  enough,
1246              no  packets can pass through the switch at all. This setting de‐
1247              termines the switch’s response to such a situation.  It  may  be
1248              set to one of the following:
1249
1250              standalone
1251                     If  no  message is received from the controller for three
1252                     times  the  inactivity  probe  interval   (see   inactiv‐
1253                     ity_probe), then Open vSwitch will take over responsibil‐
1254                     ity for setting up flows.  In  this  mode,  Open  vSwitch
1255                     causes  the  bridge  to act like an ordinary MAC-learning
1256                     switch. Open vSwitch will continue to retry connecting to
1257                     the controller in the background and, when the connection
1258                     succeeds, it will discontinue its standalone behavior.
1259
1260              secure Open vSwitch will not set up flows on its  own  when  the
1261                     controller  connection  fails  or when no controllers are
1262                     defined. The bridge will continue to retry connecting  to
1263                     any defined controllers forever.
1264
1265              The default is standalone if the value is unset, but future ver‐
1266              sions of Open vSwitch may change the default.
1267
1268              The standalone mode can create forwarding loops on a bridge that
1269              has  more  than  one uplink port unless STP is enabled. To avoid
1270              loops on such a bridge, configure secure mode or enable STP (see
1271              stp_enable).
1272
1273              The  fail_mode setting applies only to primary controllers. When
1274              more than one primary controller  is  configured,  fail_mode  is
1275              considered  only  when none of the configured controllers can be
1276              contacted.
1277
1278              Changing fail_mode when no primary  controllers  are  configured
1279              clears the OpenFlow flow tables, group table, and meter table.
1280
1281       datapath_id: optional string
1282              Reports  the OpenFlow datapath ID in use. Exactly 16 hex digits.
1283              (Setting this  column  has  no  useful  effect.  Set  other-con‐
1284              fig:datapath-id instead.)
1285
1286       datapath_version: string
1287              Reports  the  datapath  version.  This  column is maintained for
1288              backwards compatibility. The preferred locatation is  the  data‐
1289              path_id column of the Datapath table. The full documentation for
1290              this column is there.
1291
1292       other_config : datapath-id: optional string
1293              Overrides the default OpenFlow datapath ID, setting  it  to  the
1294              specified  value  specified in hex. The value must either have a
1295              0x prefix or be exactly 16 hex digits long. May not be all-zero.
1296
1297       other_config : dp-desc: optional string
1298              Human readable description of datapath.  It  is  a  maximum  256
1299              byte-long  free-form  string to describe the datapath for debug‐
1300              ging purposes, e.g. switch3 in room 3120. The value is  returned
1301              by  the  switch  as  a  part  of  reply  to  OFPMP_DESC  request
1302              (ofp_desc). The OpenFlow specification  (e.g.  1.3.5)  describes
1303              the  ofp_desc  structure  to  contaion  "NULL  terminated  ASCII
1304              strings". For the compatibility reasons no more than  255  ASCII
1305              characters should be used.
1306
1307       other_config : dp-sn: optional string
1308              Serial  number. It is a maximum 32 byte-long free-form string to
1309              provide an additional switch identification. The  value  is  re‐
1310              turned  by  the  switch as a part of reply to OFPMP_DESC request
1311              (ofp_desc). Same as mentioned in the description  of  other-con‐
1312              fig:dp-desc,  the string should be no more than 31 ASCII charac‐
1313              ters for the compatibility.
1314
1315       other_config : disable-in-band: optional string, either true or false
1316              If set to true, disable in-band control on the bridge regardless
1317              of controller and manager settings.
1318
1319       other_config  :  in-band-queue: optional string, containing an integer,
1320       in range 0 to 4,294,967,295
1321              A queue ID as a nonnegative  integer.  This  sets  the  OpenFlow
1322              queue ID that will be used by flows set up by in-band control on
1323              this bridge. If unset, or if the port used by an in-band control
1324              flow  does not have QoS configured, or if the port does not have
1325              a queue with the specified ID, the default  queue  is  used  in‐
1326              stead.
1327
1328       other_config  :  controller-queue-size:  optional string, containing an
1329       integer, in range 1 to 512
1330              This sets the maximum size of the queue of packets that need  to
1331              be sent to the OpenFlow management controller. The value must be
1332              less than 512. If not specified the queue size is limited to 100
1333              packets by default. Note: increasing the queue size might have a
1334              negative impact on latency.
1335
1336       protocols: set of strings, one of OpenFlow10,  OpenFlow11,  OpenFlow12,
1337       OpenFlow13, OpenFlow14, or OpenFlow15
1338              List  of  OpenFlow protocols that may be used when negotiating a
1339              connection with a controller. OpenFlow 1.0, 1.1, 1.2, 1.3,  1.4,
1340              and 1.5 are enabled by default if this column is empty.
1341
1342     Spanning Tree Configuration:
1343
1344       The IEEE 802.1D Spanning Tree Protocol (STP) is a network protocol that
1345       ensures loop-free topologies. It allows redundant links to be  included
1346       in  the  network  to provide automatic backup paths if the active links
1347       fails.
1348
1349       These settings configure the slower-to-converge but still  widely  sup‐
1350       ported   version   of   Spanning  Tree  Protocol,  sometimes  known  as
1351       802.1D-1998. Open vSwitch also supports the newer Rapid  Spanning  Tree
1352       Protocol  (RSTP), documented later in the section titled Rapid Spanning
1353       Tree Configuration.
1354
1355     STP Configuration:
1356
1357       stp_enable: boolean
1358              Enable spanning tree on the bridge. By default, STP is  disabled
1359              on  bridges.  Bond, internal, and mirror ports are not supported
1360              and will not participate in the spanning tree.
1361
1362              STP and RSTP are mutually exclusive. If both are  enabled,  RSTP
1363              will be used.
1364
1365       other_config : stp-system-id: optional string
1366              The bridge’s STP identifier (the lower 48 bits of the bridge-id)
1367              in the form xx:xx:xx:xx:xx:xx. By default, the identifier is the
1368              MAC address of the bridge.
1369
1370       other_config : stp-priority: optional string, containing an integer, in
1371       range 0 to 65,535
1372              The bridge’s relative priority value for  determining  the  root
1373              bridge  (the  upper 16 bits of the bridge-id). A bridge with the
1374              lowest bridge-id is elected the root. By default,  the  priority
1375              is 0x8000.
1376
1377       other_config  : stp-hello-time: optional string, containing an integer,
1378       in range 1 to 10
1379              The interval between transmissions of hello messages  by  desig‐
1380              nated ports, in seconds. By default the hello interval is 2 sec‐
1381              onds.
1382
1383       other_config : stp-max-age: optional string, containing an integer,  in
1384       range 6 to 40
1385              The  maximum  age  of  the information transmitted by the bridge
1386              when it is the root bridge, in seconds. By default, the  maximum
1387              age is 20 seconds.
1388
1389       other_config  : stp-forward-delay: optional string, containing an inte‐
1390       ger, in range 4 to 30
1391              The delay to wait  between  transitioning  root  and  designated
1392              ports  to forwarding, in seconds. By default, the forwarding de‐
1393              lay is 15 seconds.
1394
1395       other_config : mcast-snooping-aging-time: optional  string,  containing
1396       an integer, at least 1
1397              The maximum number of seconds to retain a multicast snooping en‐
1398              try for which no packets have been seen.  The  default  is  cur‐
1399              rently  300  seconds  (5  minutes).  The value, if specified, is
1400              forced into a reasonable range, currently 15 to 3600 seconds.
1401
1402       other_config : mcast-snooping-table-size: optional  string,  containing
1403       an integer, at least 1
1404              The maximum number of multicast snooping addresses to learn. The
1405              default is currently 2048. The value, if  specified,  is  forced
1406              into a reasonable range, currently 10 to 1,000,000.
1407
1408       other_config   :   mcast-snooping-disable-flood-unregistered:  optional
1409       string, either true or false
1410              If set to false, unregistered multicast packets are forwarded to
1411              all  ports.  If  set to true, unregistered multicast packets are
1412              forwarded to ports connected to multicast routers.
1413
1414     STP Status:
1415
1416       These key-value pairs  report  the  status  of  802.1D-1998.  They  are
1417       present only if STP is enabled (via the stp_enable column).
1418
1419       status : stp_bridge_id: optional string
1420              The  bridge ID used in spanning tree advertisements, in the form
1421              xxxx.yyyyyyyyyyyy where the xs are the STP priority, the ys  are
1422              the STP system ID, and each x and y is a hex digit.
1423
1424       status : stp_designated_root: optional string
1425              The  designated root for this spanning tree, in the same form as
1426              status:stp_bridge_id. If this bridge is the root, this will have
1427              the  same  value as status:stp_bridge_id, otherwise it will dif‐
1428              fer.
1429
1430       status : stp_root_path_cost: optional string
1431              The path cost of reaching the designated bridge. A lower  number
1432              is  better. The value is 0 if this bridge is the root, otherwise
1433              it is higher.
1434
1435     Rapid Spanning Tree:
1436
1437       Rapid Spanning Tree Protocol (RSTP), like STP, is  a  network  protocol
1438       that  ensures loop-free topologies. RSTP superseded STP with the publi‐
1439       cation of 802.1D-2004. Compared to STP, RSTP converges more quickly and
1440       recovers more quickly from failures.
1441
1442     RSTP Configuration:
1443
1444       rstp_enable: boolean
1445              Enable  Rapid  Spanning  Tree on the bridge. By default, RSTP is
1446              disabled on bridges. Bond, internal, and mirror  ports  are  not
1447              supported and will not participate in the spanning tree.
1448
1449              STP  and  RSTP are mutually exclusive. If both are enabled, RSTP
1450              will be used.
1451
1452       other_config : rstp-address: optional string
1453              The bridge’s RSTP address (the lower 48 bits of  the  bridge-id)
1454              in  the  form  xx:xx:xx:xx:xx:xx. By default, the address is the
1455              MAC address of the bridge.
1456
1457       other_config : rstp-priority: optional string, containing  an  integer,
1458       in range 0 to 61,440
1459              The  bridge’s  relative  priority value for determining the root
1460              bridge (the upper 16 bits of the bridge-id). A bridge  with  the
1461              lowest  bridge-id  is elected the root. By default, the priority
1462              is 0x8000 (32768). This value needs to be a  multiple  of  4096,
1463              otherwise it’s rounded to the nearest inferior one.
1464
1465       other_config  :  rstp-ageing-time: optional string, containing an inte‐
1466       ger, in range 10 to 1,000,000
1467              The Ageing Time parameter for the Bridge. The default  value  is
1468              300 seconds.
1469
1470       other_config : rstp-force-protocol-version: optional string, containing
1471       an integer
1472              The Force Protocol Version parameter for the  Bridge.  This  can
1473              take  the  value  0  (STP Compatibility mode) or 2 (the default,
1474              normal operation).
1475
1476       other_config : rstp-max-age: optional string, containing an integer, in
1477       range 6 to 40
1478              The  maximum  age  of  the information transmitted by the Bridge
1479              when it is the Root Bridge. The default value is 20.
1480
1481       other_config : rstp-forward-delay: optional string, containing an inte‐
1482       ger, in range 4 to 30
1483              The  delay used by STP Bridges to transition Root and Designated
1484              Ports to Forwarding. The default value is 15.
1485
1486       other_config : rstp-transmit-hold-count: optional string, containing an
1487       integer, in range 1 to 10
1488              The  Transmit Hold Count used by the Port Transmit state machine
1489              to limit transmission rate. The default value is 6.
1490
1491     RSTP Status:
1492
1493       These key-value pairs  report  the  status  of  802.1D-2004.  They  are
1494       present only if RSTP is enabled (via the rstp_enable column).
1495
1496       rstp_status : rstp_bridge_id: optional string
1497              The bridge ID used in rapid spanning tree advertisements, in the
1498              form x.yyy.zzzzzzzzzzzz where x is the RSTP priority, the ys are
1499              a  locally assigned system ID extension, the zs are the STP sys‐
1500              tem ID, and each x, y, or z is a hex digit.
1501
1502       rstp_status : rstp_root_id: optional string
1503              The root of this spanning tree, in the same  form  as  rstp_sta‐
1504              tus:rstp_bridge_id.  If  this bridge is the root, this will have
1505              the same value as rstp_status:rstp_bridge_id, otherwise it  will
1506              differ.
1507
1508       rstp_status : rstp_root_path_cost: optional string, containing an inte‐
1509       ger, at least 0
1510              The path cost of reaching the root. A lower  number  is  better.
1511              The  value  is  0  if  this  bridge is the root, otherwise it is
1512              higher.
1513
1514       rstp_status : rstp_designated_id: optional string
1515              The  RSTP  designated  ID,  in  the  same  form   as   rstp_sta‐
1516              tus:rstp_bridge_id.
1517
1518       rstp_status : rstp_designated_port_id: optional string
1519              The RSTP designated port ID, as a 4-digit hex number.
1520
1521       rstp_status : rstp_bridge_port_id: optional string
1522              The RSTP bridge port ID, as a 4-digit hex number.
1523
1524     Multicast Snooping Configuration:
1525
1526       Multicast  snooping  (RFC  4541) monitors the Internet Group Management
1527       Protocol (IGMP) and Multicast Listener Discovery traffic between  hosts
1528       and  multicast  routers.  The  switch  uses  what IGMP and MLD snooping
1529       learns to forward multicast traffic only to interfaces  that  are  con‐
1530       nected  to  interested receivers. Currently it supports IGMPv1, IGMPv2,
1531       IGMPv3, MLDv1 and MLDv2 protocols.
1532
1533       mcast_snooping_enable: boolean
1534              Enable multicast snooping on the bridge. For now, the default is
1535              disabled.
1536
1537     Other Features:
1538
1539       datapath_type: string
1540              Name  of datapath provider. The kernel datapath has type system.
1541              The userspace datapath has type netdev. A manager may  refer  to
1542              the  datapath_types  column of the Open_vSwitch table for a list
1543              of the types accepted by this Open vSwitch instance.
1544
1545       external_ids : bridge-id: optional string
1546              A unique identifier of the bridge.
1547
1548       other_config : hwaddr: optional string
1549              An Ethernet address in the form  xx:xx:xx:xx:xx:xx  to  set  the
1550              hardware  address  of  the local port and influence the datapath
1551              ID.
1552
1553       other_config : forward-bpdu: optional string, either true or false
1554              Controls forwarding of BPDUs and other  network  control  frames
1555              when  NORMAL action is invoked. When this option is false or un‐
1556              set, frames with reserved Ethernet addresses (see  table  below)
1557              will  not  be  forwarded.  When this option is true, such frames
1558              will not be treated specially.
1559
1560              The above general rule has the following exceptions:
1561
1562              •      If STP is enabled on the bridge (see the stp_enable  col‐
1563                     umn  in  the  Bridge table), the bridge processes all re‐
1564                     ceived STP packets and never passes them to  OpenFlow  or
1565                     forwards them. This is true even if STP is disabled on an
1566                     individual port.
1567
1568              •      If LLDP is enabled on an interface (see the  lldp  column
1569                     in the Interface table), the interface processes received
1570                     LLDP packets and never passes them to  OpenFlow  or  for‐
1571                     wards them.
1572
1573              Set this option to true if the Open vSwitch bridge connects dif‐
1574              ferent Ethernet networks and is not configured to participate in
1575              STP.
1576
1577              This  option  affects packets with the following destination MAC
1578              addresses:
1579
1580              01:80:c2:00:00:00
1581                     IEEE 802.1D Spanning Tree Protocol (STP).
1582
1583              01:80:c2:00:00:01
1584                     IEEE Pause frame.
1585
1586              01:80:c2:00:00:0x
1587                     Other reserved protocols.
1588
1589              00:e0:2b:00:00:00
1590                     Extreme Discovery Protocol (EDP).
1591
1592              00:e0:2b:00:00:04 and 00:e0:2b:00:00:06
1593                     Ethernet Automatic Protection Switching (EAPS).
1594
1595              01:00:0c:cc:cc:cc
1596                     Cisco Discovery Protocol (CDP),  VLAN  Trunking  Protocol
1597                     (VTP),  Dynamic Trunking Protocol (DTP), Port Aggregation
1598                     Protocol (PAgP), and others.
1599
1600              01:00:0c:cc:cc:cd
1601                     Cisco Shared Spanning Tree Protocol PVSTP+.
1602
1603              01:00:0c:cd:cd:cd
1604                     Cisco STP Uplink Fast.
1605
1606              01:00:0c:00:00:00
1607                     Cisco Inter Switch Link.
1608
1609              01:00:0c:cc:cc:cx
1610                     Cisco CFM.
1611
1612       other_config : mac-aging-time: optional string, containing an  integer,
1613       at least 1
1614              The maximum number of seconds to retain a MAC learning entry for
1615              which no packets have been seen. The default  is  currently  300
1616              seconds  (5  minutes). The value, if specified, is forced into a
1617              reasonable range, currently 15 to 3600 seconds.
1618
1619              A short MAC aging time allows a network to more  quickly  detect
1620              that a host is no longer connected to a switch port. However, it
1621              also makes it more likely that packets will be flooded  unneces‐
1622              sarily,  when they are addressed to a connected host that rarely
1623              transmits packets. To reduce the incidence of unnecessary flood‐
1624              ing,  use  a  MAC aging time longer than the maximum interval at
1625              which a host will ordinarily transmit packets.
1626
1627       other_config : mac-table-size: optional string, containing an  integer,
1628       at least 1
1629              The  maximum  number  of  MAC addresses to learn. The default is
1630              currently 8192. The value, if specified, is forced into  a  rea‐
1631              sonable range, currently 10 to 1,000,000.
1632
1633     Common Columns:
1634
1635       The  overall purpose of these columns is described under Common Columns
1636       at the beginning of this document.
1637
1638       other_config: map of string-string pairs
1639
1640       external_ids: map of string-string pairs
1641

Port TABLE

1643       A port within a Bridge.
1644
1645       Most commonly, a port has exactly one ``interface,’’ pointed to by  its
1646       interfaces  column.  Such  a  port logically corresponds to a port on a
1647       physical Ethernet switch. A port with more  than  one  interface  is  a
1648       ``bonded port’’ (see Bonding Configuration).
1649
1650       Some  properties  that one might think as belonging to a port are actu‐
1651       ally part of the port’s Interface members.
1652
1653   Summary:
1654       name                          immutable string (must be  unique  within
1655                                     table)
1656       interfaces                    set of 1 or more Interfaces
1657       VLAN Configuration:
1658         vlan_mode                   optional    string,    one   of   access,
1659                                     dot1q-tunnel,  native-tagged,  native-un‐
1660                                     tagged, or trunk
1661         tag                         optional integer, in range 0 to 4,095
1662         trunks                      set  of  up to 4,096 integers, in range 0
1663                                     to 4,095
1664         cvlans                      set of up to 4,096 integers, in  range  0
1665                                     to 4,095
1666         other_config : qinq-ethtype
1667                                     optional string, either 802.1ad or 802.1q
1668         other_config : priority-tags
1669                                     optional  string,  one of always, if-non‐
1670                                     zero, or never
1671       Bonding Configuration:
1672         bond_mode                   optional string,  one  of  active-backup,
1673                                     balance-slb, or balance-tcp
1674         other_config : bond-hash-basis
1675                                     optional string, containing an integer
1676         other_config : lb-output-action
1677                                     optional string, either true or false
1678         other_config : bond-primary
1679                                     optional string
1680         other_config : all-members-active
1681                                     optional string, either true or false
1682         Link Failure Detection:
1683            other_config : bond-detect-mode
1684                                     optional string, either carrier or miimon
1685            other_config : bond-miimon-interval
1686                                     optional string, containing an integer
1687            bond_updelay             integer
1688            bond_downdelay           integer
1689         LACP Configuration:
1690            lacp                     optional  string,  one of active, off, or
1691                                     passive
1692            other_config : lacp-system-id
1693                                     optional string
1694            other_config : lacp-system-priority
1695                                     optional string, containing  an  integer,
1696                                     in range 1 to 65,535
1697            other_config : lacp-time optional string, either fast or slow
1698            other_config : lacp-fallback-ab
1699                                     optional string, either true or false
1700         Rebalancing Configuration:
1701            other_config : bond-rebalance-interval
1702                                     optional  string,  containing an integer,
1703                                     in range 0 to 2,147,483,647
1704         bond_fake_iface             boolean
1705       Spanning Tree Protocol:
1706         STP Configuration:
1707            other_config : stp-enable
1708                                     optional string, either true or false
1709            other_config : stp-port-num
1710                                     optional string, containing  an  integer,
1711                                     in range 1 to 255
1712            other_config : stp-port-priority
1713                                     optional  string,  containing an integer,
1714                                     in range 0 to 255
1715            other_config : stp-path-cost
1716                                     optional string, containing  an  integer,
1717                                     in range 0 to 65,535
1718         STP Status:
1719            status : stp_port_id     optional string
1720            status : stp_state       optional  string,  one  of blocking, dis‐
1721                                     abled, forwarding, learning, or listening
1722            status : stp_sec_in_state
1723                                     optional string, containing  an  integer,
1724                                     at least 0
1725            status : stp_role        optional string, one of alternate, desig‐
1726                                     nated, or root
1727       Rapid Spanning Tree Protocol:
1728         RSTP Configuration:
1729            other_config : rstp-enable
1730                                     optional string, either true or false
1731            other_config : rstp-port-priority
1732                                     optional string, containing  an  integer,
1733                                     in range 0 to 240
1734            other_config : rstp-port-num
1735                                     optional  string,  containing an integer,
1736                                     in range 1 to 4,095
1737            other_config : rstp-path-cost
1738                                     optional string, containing an integer
1739            other_config : rstp-port-admin-edge
1740                                     optional string, either true or false
1741            other_config : rstp-port-auto-edge
1742                                     optional string, either true or false
1743            other_config : rstp-port-mcheck
1744                                     optional string, either true or false
1745         RSTP Status:
1746            rstp_status : rstp_port_id
1747                                     optional string
1748            rstp_status : rstp_port_role
1749                                     optional  string,   one   of   Alternate,
1750                                     Backup, Designated, Disabled, or Root
1751            rstp_status : rstp_port_state
1752                                     optional  string,  one  of Disabled, Dis‐
1753                                     carding, Forwarding, or Learning
1754            rstp_status : rstp_designated_bridge_id
1755                                     optional string
1756            rstp_status : rstp_designated_port_id
1757                                     optional string
1758            rstp_status : rstp_designated_path_cost
1759                                     optional string, containing an integer
1760         RSTP Statistics:
1761            rstp_statistics : rstp_tx_count
1762                                     optional integer
1763            rstp_statistics : rstp_rx_count
1764                                     optional integer
1765            rstp_statistics : rstp_error_count
1766                                     optional integer
1767            rstp_statistics : rstp_uptime
1768                                     optional integer
1769       Multicast Snooping:
1770         other_config : mcast-snooping-flood
1771                                     optional string, either true or false
1772         other_config : mcast-snooping-flood-reports
1773                                     optional string, either true or false
1774       Other Features:
1775         qos                         optional QoS
1776         mac                         optional string
1777         fake_bridge                 boolean
1778         protected                   boolean
1779         external_ids : fake-bridge-*
1780                                     optional string
1781         other_config : transient    optional string, either true or false
1782       bond_active_slave             optional string
1783       Port Statistics:
1784         Statistics: STP transmit and receive counters:
1785            statistics : stp_tx_count
1786                                     optional integer
1787            statistics : stp_rx_count
1788                                     optional integer
1789            statistics : stp_error_count
1790                                     optional integer
1791       Common Columns:
1792         other_config                map of string-string pairs
1793         external_ids                map of string-string pairs
1794
1795   Details:
1796       name: immutable string (must be unique within table)
1797              Port name. For a non-bonded port, this should be the same as its
1798              interface’s  name. Port names must otherwise be unique among the
1799              names of ports, interfaces, and bridges on a host. Because  port
1800              and  interfaces  names are usually the same, the restrictions on
1801              the name column in the Interface table, particularly on  length,
1802              also  apply to port names. Refer to the documentation for Inter‐
1803              face names for details.
1804
1805       interfaces: set of 1 or more Interfaces
1806              The port’s interfaces. If there is more  than  one,  this  is  a
1807              bonded Port.
1808
1809     VLAN Configuration:
1810
1811       In  short,  a  VLAN (short for ``virtual LAN’’) is a way to partition a
1812       single switch into multiple switches. VLANs can be confusing, so for an
1813       introduction,  please  refer  to the question ``What’s a VLAN?’’ in the
1814       Open vSwitch FAQ.
1815
1816       A VLAN is sometimes encoded into a packet using  a  802.1Q  or  802.1ad
1817       VLAN header, but every packet is part of some VLAN whether or not it is
1818       encoded in the packet. (A packet that appears to have no VLAN  is  part
1819       of  VLAN 0, by default.) As a result, it’s useful to think of a VLAN as
1820       a metadata property of a packet, separate from how the VLAN is encoded.
1821       For  a  given port, this column determines how the encoding of a packet
1822       that ingresses or egresses the port maps to the packet’s VLAN.  When  a
1823       packet  enters  the switch, its VLAN is determined based on its setting
1824       in this column and its VLAN headers, if any,  and  then,  conceptually,
1825       the VLAN headers are then stripped off. Conversely, when a packet exits
1826       the switch, its VLAN and the settings in  this  column  determine  what
1827       VLAN headers, if any, are pushed onto the packet before it egresses the
1828       port.
1829
1830       The VLAN configuration in this column affects Open vSwitch only when it
1831       is  doing  ``normal  switching.’’ It does not affect flows set up by an
1832       OpenFlow controller, outside of the OpenFlow ``normal action.’’
1833
1834       Bridge ports support the following types of VLAN configuration:
1835
1836              trunk  A trunk port carries packets on  one  or  more  specified
1837                     VLANs  specified  in  the  trunks column (often, on every
1838                     VLAN). A packet that ingresses on a trunk port is in  the
1839                     VLAN  specified  in  its  802.1Q header, or VLAN 0 if the
1840                     packet has no  802.1Q  header.  A  packet  that  egresses
1841                     through a trunk port will have an 802.1Q header if it has
1842                     a nonzero VLAN ID.
1843
1844                     Any packet that ingresses on a trunk port tagged  with  a
1845                     VLAN that the port does not trunk is dropped.
1846
1847              access An access port carries packets on exactly one VLAN speci‐
1848                     fied in the tag column. Packets egressing  on  an  access
1849                     port have no 802.1Q header.
1850
1851                     Any  packet  with an 802.1Q header with a nonzero VLAN ID
1852                     that ingresses on an access port is  dropped,  regardless
1853                     of whether the VLAN ID in the header is the access port’s
1854                     VLAN ID.
1855
1856              native-tagged
1857                     A native-tagged port resembles a trunk port, with the ex‐
1858                     ception  that  a packet without an 802.1Q header that in‐
1859                     gresses on a native-tagged port is in the ``native VLAN’’
1860                     (specified in the tag column).
1861
1862              native-untagged
1863                     A  native-untagged  port  resembles a native-tagged port,
1864                     with the exception that a packet that egresses on  a  na‐
1865                     tive-untagged  port  in  the native VLAN will not have an
1866                     802.1Q header.
1867
1868              dot1q-tunnel
1869                     A dot1q-tunnel port is somewhat like an access port. Like
1870                     an  access  port,  it  carries packets on the single VLAN
1871                     specified in the tag column and  this  VLAN,  called  the
1872                     service  VLAN,  does  not  appear in an 802.1Q header for
1873                     packets that ingress or egress on the port. The main dif‐
1874                     ference  lies in the behavior when packets that include a
1875                     802.1Q header ingress on the port. Whereas an access port
1876                     drops  such  packets, a dot1q-tunnel port treats these as
1877                     double-tagged with the outer service VLAN tag and the in‐
1878                     ner  customer  VLAN  taken from the 802.1Q header. Corre‐
1879                     spondingly, to egress on the port, a  packet  outer  VLAN
1880                     (or  only  VLAN)  must  be  tag,  which is removed before
1881                     egress, which exposes the inner (customer) VLAN if one is
1882                     present.
1883
1884                     If  cvlans  is  set, only allows packets in the specified
1885                     customer VLANs.
1886
1887       A packet will only egress through bridge ports that carry the  VLAN  of
1888       the packet, as described by the rules above.
1889
1890       vlan_mode: optional string, one of access, dot1q-tunnel, native-tagged,
1891       native-untagged, or trunk
1892              The VLAN mode of the port, as described above. When this  column
1893              is empty, a default mode is selected as follows:
1894
1895              •      If  tag contains a value, the port is an access port. The
1896                     trunks column should be empty.
1897
1898              •      Otherwise, the port is a trunk port.  The  trunks  column
1899                     value is honored if it is present.
1900
1901       tag: optional integer, in range 0 to 4,095
1902              For an access port, the port’s implicitly tagged VLAN. For a na‐
1903              tive-tagged or native-untagged port,  the  port’s  native  VLAN.
1904              Must be empty if this is a trunk port.
1905
1906       trunks: set of up to 4,096 integers, in range 0 to 4,095
1907              For  a trunk, native-tagged, or native-untagged port, the 802.1Q
1908              VLAN or VLANs that this port trunks; if it is  empty,  then  the
1909              port trunks all VLANs. Must be empty if this is an access port.
1910
1911              A native-tagged or native-untagged port always trunks its native
1912              VLAN, regardless of whether trunks includes that VLAN.
1913
1914       cvlans: set of up to 4,096 integers, in range 0 to 4,095
1915              For a dot1q-tunnel port, the customer VLANs that this  port  in‐
1916              cludes. If this is empty, the port includes all customer VLANs.
1917
1918              For other kinds of ports, this setting is ignored.
1919
1920       other_config : qinq-ethtype: optional string, either 802.1ad or 802.1q
1921              For  a  dot1q-tunnel port, this is the TPID for the service tag,
1922              that is, for the 802.1Q header that contains  the  service  VLAN
1923              ID.  Because  packets  that actually ingress and egress a dot1q-
1924              tunnel port do not include an  802.1Q  header  for  the  service
1925              VLAN,  this does not affect packets on the dot1q-tunnel port it‐
1926              self. Rather, it determines the service VLAN for a  packet  that
1927              ingresses on a dot1q-tunnel port and egresses on a trunk port.
1928
1929              The  value  802.1ad specifies TPID 0x88a8, which is also the de‐
1930              fault if the setting is omitted. The value 802.1q specifies TPID
1931              0x8100.
1932
1933              For other kinds of ports, this setting is ignored.
1934
1935       other_config  :  priority-tags: optional string, one of always, if-non‐
1936       zero, or never
1937              An 802.1Q header contains two important pieces of information: a
1938              VLAN  ID  and  a priority. A frame with a zero VLAN ID, called a
1939              ``priority-tagged’’ frame, is supposed to be  treated  the  same
1940              way  as  a frame without an 802.1Q header at all (except for the
1941              priority).
1942
1943              However, some network elements ignore any frame that has  802.1Q
1944              header  at all, even when the VLAN ID is zero. Therefore, by de‐
1945              fault Open vSwitch does not output priority-tagged  frames,  in‐
1946              stead  omitting  the  802.1Q  header  entirely if the VLAN ID is
1947              zero. Set this  key  to  if-nonzero  to  enable  priority-tagged
1948              frames on a port.
1949
1950              For if-nonzero Open vSwitch omits the 802.1Q header on output if
1951              both the VLAN ID and priority would be zero. Set  to  always  to
1952              retain the 802.1Q header in such frames as well.
1953
1954              All frames output to native-tagged ports have a nonzero VLAN ID,
1955              so this setting is not meaningful on native-tagged ports.
1956
1957     Bonding Configuration:
1958
1959       A port that has more than one interface is a ``bonded  port.’’  Bonding
1960       allows for load balancing and fail-over.
1961
1962       The  following  types  of  bonding  will work with any kind of upstream
1963       switch. On the upstream switch, do not configure the  interfaces  as  a
1964       bond:
1965
1966              balance-slb
1967                     Balances  flows among members based on source MAC address
1968                     and output VLAN, with  periodic  rebalancing  as  traffic
1969                     patterns change.
1970
1971              active-backup
1972                     Assigns all flows to one member, failing over to a backup
1973                     member when the active member is disabled.  This  is  the
1974                     only bonding mode in which interfaces may be plugged into
1975                     different upstream switches.
1976
1977       The following modes require the upstream switch to support 802.3ad with
1978       successful  LACP  negotiation. If LACP negotiation fails and other-con‐
1979       fig:lacp-fallback-ab is true, then active-backup mode is used:
1980
1981              balance-tcp
1982                     Balances flows among members based on L3 and L4  protocol
1983                     information such as IP addresses and TCP/UDP ports.
1984
1985       These  columns  apply  only to bonded ports. Their values are otherwise
1986       ignored.
1987
1988       bond_mode: optional string, one of active-backup, balance-slb, or  bal‐
1989       ance-tcp
1990              The  type  of  bonding  used  for a bonded port. Defaults to ac‐
1991              tive-backup if unset.
1992
1993       other_config : bond-hash-basis: optional string, containing an integer
1994              An integer hashed along with flows when choosing output  members
1995              in load balanced bonds. When changed, all flows will be assigned
1996              different hash values possibly causing  member  selection  deci‐
1997              sions  to change. Does not affect bonding modes which do not em‐
1998              ploy load balancing such as active-backup.
1999
2000       other_config : lb-output-action: optional string, either true or false
2001              Enable/disable usage of optimized lb_output action for balancing
2002              flows  among  output  members  in  load  balanced  bonds in bal‐
2003              ance-tcp. When enabled, it uses optimized path  for  balance-tcp
2004              mode  by using rss hash and avoids recirculation. This knob does
2005              not affect other balancing modes.
2006
2007       other_config : bond-primary: optional string
2008              If a slave interface with this name exists in the  bond  and  is
2009              up,  it  will  be  made  active.  Relevant  only when other_con‐
2010              fig:bond_mode is active-backup or if balance-tcp falls  back  to
2011              active-backup  (e.g.,  LACP  negotiation  fails  and  other_con‐
2012              fig:lacp-fallback-ab is true).
2013
2014       other_config : all-members-active:  optional  string,  either  true  or
2015       false
2016              Enable/Disable  delivery  of broadcast/multicast packets on sec‐
2017              ondary interface of a balance-slb bond. Relevant only when  lacp
2018              is off.
2019
2020              This  parameter is identical to all_slaves_active for Linux ker‐
2021              nel bonds. Disabled by default as it is not a desirable configu‐
2022              ration for most users.
2023
2024     Link Failure Detection:
2025
2026       An  important  part of link bonding is detecting that links are down so
2027       that they may be disabled. These settings determine  how  Open  vSwitch
2028       detects link failure.
2029
2030       other_config : bond-detect-mode: optional string, either carrier or mi‐
2031       imon
2032              The means used to detect  link  failures.  Defaults  to  carrier
2033              which uses each interface’s carrier to detect failures. When set
2034              to miimon, will check for failures by polling  each  interface’s
2035              MII.
2036
2037       other_config : bond-miimon-interval: optional string, containing an in‐
2038       teger
2039              The interval, in milliseconds, between  successive  attempts  to
2040              poll each interface’s MII. Relevant only when other_config:bond-
2041              detect-mode is miimon.
2042
2043       bond_updelay: integer
2044              The number of milliseconds for which the link must stay up on an
2045              interface before the interface is considered to be up. Specify 0
2046              to enable the interface immediately.
2047
2048              This setting is honored only when at least one bonded  interface
2049              is  already  enabled.  When  no interfaces are enabled, then the
2050              first bond interface to come up is enabled immediately.
2051
2052       bond_downdelay: integer
2053              The number of milliseconds for which the link must stay down  on
2054              an  interface  before  the  interface  is considered to be down.
2055              Specify 0 to disable the interface immediately.
2056
2057     LACP Configuration:
2058
2059       LACP, the Link Aggregation Control Protocol, is an IEEE  standard  that
2060       allows switches to automatically detect that they are connected by mul‐
2061       tiple links and aggregate across those links.  These  settings  control
2062       LACP behavior.
2063
2064       lacp: optional string, one of active, off, or passive
2065              Configures  LACP  on  this  port. LACP allows directly connected
2066              switches to negotiate which links may be bonded. LACP may be en‐
2067              abled  on  non-bonded ports for the benefit of any switches they
2068              may be connected to. active ports are allowed to  initiate  LACP
2069              negotiations.  passive  ports are allowed to participate in LACP
2070              negotiations initiated by a remote switch, but  not  allowed  to
2071              initiate  such  negotiations themselves. If LACP is enabled on a
2072              port whose partner switch does not support LACP, the  bond  will
2073              be  disabled,  unless  other-config:lacp-fallback-ab  is  set to
2074              true. Defaults to off if unset.
2075
2076       other_config : lacp-system-id: optional string
2077              The LACP system ID of this Port. The system ID of a LACP bond is
2078              used  to  identify itself to its partners. Must be a nonzero MAC
2079              address. Defaults to the bridge Ethernet address if unset.
2080
2081       other_config : lacp-system-priority: optional string, containing an in‐
2082       teger, in range 1 to 65,535
2083              The  LACP  system  priority  of this Port. In LACP negotiations,
2084              link status decisions are made by the system  with  the  numeri‐
2085              cally lower priority.
2086
2087       other_config : lacp-time: optional string, either fast or slow
2088              The  LACP  timing  which should be used on this Port. By default
2089              slow is used. When configured to be fast LACP heartbeats are re‐
2090              quested  at a rate of once per second causing connectivity prob‐
2091              lems to be detected more quickly. In slow mode,  heartbeats  are
2092              requested at a rate of once every 30 seconds.
2093
2094       other_config : lacp-fallback-ab: optional string, either true or false
2095              Determines the behavior of openvswitch bond in LACP mode. If the
2096              partner switch does not support LACP,  setting  this  option  to
2097              true allows openvswitch to fallback to active-backup. If the op‐
2098              tion is set to false, the bond will be  disabled.  In  both  the
2099              cases,  once  the partner switch is configured to LACP mode, the
2100              bond will use LACP.
2101
2102     Rebalancing Configuration:
2103
2104       These settings control behavior when a bond is in balance-slb  or  bal‐
2105       ance-tcp mode.
2106
2107       other_config  : bond-rebalance-interval: optional string, containing an
2108       integer, in range 0 to 2,147,483,647
2109              For a load balanced bonded port, the number of milliseconds  be‐
2110              tween  successive  attempts  to  rebalance the bond, that is, to
2111              move flows from one interface on the bond to another in  an  at‐
2112              tempt  to  keep  usage of each interface roughly equal. If zero,
2113              load balancing is disabled on the bond (link failure still cause
2114              flows to move). If less than 1000ms, the rebalance interval will
2115              be 1000ms.
2116
2117       bond_fake_iface: boolean
2118              For a bonded port, whether to create a fake  internal  interface
2119              with  the  name  of  the  port.  Use only for compatibility with
2120              legacy software that requires this.
2121
2122     Spanning Tree Protocol:
2123
2124       The configuration here is only meaningful, and the status is only popu‐
2125       lated, when 802.1D-1998 Spanning Tree Protocol is enabled on the port’s
2126       Bridge with its stp_enable column.
2127
2128     STP Configuration:
2129
2130       other_config : stp-enable: optional string, either true or false
2131              When STP is enabled on a bridge, it is enabled by default on all
2132              of  the  bridge’s  ports except bond, internal, and mirror ports
2133              (which do not work with STP). If this column’s value  is  false,
2134              STP is disabled on the port.
2135
2136       other_config : stp-port-num: optional string, containing an integer, in
2137       range 1 to 255
2138              The port number used for the lower 8 bits of the port-id. By de‐
2139              fault, the numbers will be assigned automatically. If any port’s
2140              number is manually configured on a bridge, then  they  must  all
2141              be.
2142
2143       other_config  : stp-port-priority: optional string, containing an inte‐
2144       ger, in range 0 to 255
2145              The port’s relative priority value for determining the root port
2146              (the  upper  8 bits of the port-id). A port with a lower port-id
2147              will be chosen as the root port. By  default,  the  priority  is
2148              0x80.
2149
2150       other_config  :  stp-path-cost: optional string, containing an integer,
2151       in range 0 to 65,535
2152              Spanning tree path cost for the port. A lower number indicates a
2153              faster  link. By default, the cost is based on the maximum speed
2154              of the link.
2155
2156     STP Status:
2157
2158       status : stp_port_id: optional string
2159              The port ID used in spanning tree advertisements for this  port,
2160              as  4  hex  digits.  Configuring the port ID is described in the
2161              stp-port-num and stp-port-priority keys of the other_config sec‐
2162              tion earlier.
2163
2164       status  :  stp_state:  optional string, one of blocking, disabled, for‐
2165       warding, learning, or listening
2166              STP state of the port.
2167
2168       status : stp_sec_in_state: optional string, containing an  integer,  at
2169       least 0
2170              The  amount of time this port has been in the current STP state,
2171              in seconds.
2172
2173       status : stp_role: optional string, one of  alternate,  designated,  or
2174       root
2175              STP role of the port.
2176
2177     Rapid Spanning Tree Protocol:
2178
2179       The  configuration  here is only meaningful, and the status and statis‐
2180       tics are only populated, when 802.1D-1998 Spanning Tree Protocol is en‐
2181       abled on the port’s Bridge with its stp_enable column.
2182
2183     RSTP Configuration:
2184
2185       other_config : rstp-enable: optional string, either true or false
2186              When  RSTP  is  enabled on a bridge, it is enabled by default on
2187              all of the bridge’s ports  except  bond,  internal,  and  mirror
2188              ports  (which  do not work with RSTP). If this column’s value is
2189              false, RSTP is disabled on the port.
2190
2191       other_config : rstp-port-priority: optional string, containing an inte‐
2192       ger, in range 0 to 240
2193              The  port’s  relative  priority  value  for determining the root
2194              port, in multiples of 16. By default, the port priority is  0x80
2195              (128). Any value in the lower 4 bits is rounded off. The signif‐
2196              icant upper 4 bits become the upper 4 bits  of  the  port-id.  A
2197              port with the lowest port-id is elected as the root.
2198
2199       other_config  :  rstp-port-num: optional string, containing an integer,
2200       in range 1 to 4,095
2201              The local RSTP port number, used as the lower  12  bits  of  the
2202              port-id. By default the port numbers are assigned automatically,
2203              and typically may not correspond to the OpenFlow port numbers. A
2204              port with the lowest port-id is elected as the root.
2205
2206       other_config : rstp-path-cost: optional string, containing an integer
2207              The port path cost. The Port’s contribution, when it is the Root
2208              Port, to the Root Path Cost for the Bridge. By default the  cost
2209              is automatically calculated from the port’s speed.
2210
2211       other_config  :  rstp-port-admin-edge:  optional string, either true or
2212       false
2213              The admin edge port parameter for the Port. Default is false.
2214
2215       other_config : rstp-port-auto-edge: optional  string,  either  true  or
2216       false
2217              The auto edge port parameter for the Port. Default is true.
2218
2219       other_config : rstp-port-mcheck: optional string, either true or false
2220              The mcheck port parameter for the Port. Default is false. May be
2221              set to force the Port Protocol Migration state machine to trans‐
2222              mit  RST BPDUs for a MigrateTime period, to test whether all STP
2223              Bridges on the attached LAN have been removed and the  Port  can
2224              continue to transmit RSTP BPDUs. Setting mcheck has no effect if
2225              the Bridge is operating in STP Compatibility mode.
2226
2227              Changing the value from true to false has no effect,  but  needs
2228              to  be  done if this behavior is to be triggered again by subse‐
2229              quently changing the value from false to true.
2230
2231     RSTP Status:
2232
2233       rstp_status : rstp_port_id: optional string
2234              The port ID used in spanning tree advertisements for this  port,
2235              as  4  hex  digits.  Configuring the port ID is described in the
2236              rstp-port-num and rstp-port-priority keys  of  the  other_config
2237              section earlier.
2238
2239       rstp_status  :  rstp_port_role:  optional  string,  one  of  Alternate,
2240       Backup, Designated, Disabled, or Root
2241              RSTP role of the port.
2242
2243       rstp_status : rstp_port_state: optional string, one of  Disabled,  Dis‐
2244       carding, Forwarding, or Learning
2245              RSTP state of the port.
2246
2247       rstp_status : rstp_designated_bridge_id: optional string
2248              The  port’s  RSTP  designated  bridge  ID,  in  the same form as
2249              rstp_status:rstp_bridge_id in the Bridge table.
2250
2251       rstp_status : rstp_designated_port_id: optional string
2252              The port’s RSTP designated port ID, as 4 hex digits.
2253
2254       rstp_status : rstp_designated_path_cost: optional string, containing an
2255       integer
2256              The port’s RSTP designated path cost. Lower is better.
2257
2258     RSTP Statistics:
2259
2260       rstp_statistics : rstp_tx_count: optional integer
2261              Number of RSTP BPDUs transmitted through this port.
2262
2263       rstp_statistics : rstp_rx_count: optional integer
2264              Number of valid RSTP BPDUs received by this port.
2265
2266       rstp_statistics : rstp_error_count: optional integer
2267              Number of invalid RSTP BPDUs received by this port.
2268
2269       rstp_statistics : rstp_uptime: optional integer
2270              The duration covered by the other RSTP statistics, in seconds.
2271
2272     Multicast Snooping:
2273
2274       other_config  :  mcast-snooping-flood:  optional string, either true or
2275       false
2276              If set to true, multicast packets (except Reports) are  uncondi‐
2277              tionally forwarded to the specific port.
2278
2279       other_config  :  mcast-snooping-flood-reports:  optional string, either
2280       true or false
2281              If set to true, multicast Reports are unconditionally  forwarded
2282              to the specific port.
2283
2284     Other Features:
2285
2286       qos: optional QoS
2287              Quality of Service configuration for this port.
2288
2289       mac: optional string
2290              The MAC address to use for this port for the purpose of choosing
2291              the bridge’s MAC address. This column does not  necessarily  re‐
2292              flect  the port’s actual MAC address, nor will setting it change
2293              the port’s actual MAC address.
2294
2295       fake_bridge: boolean
2296              Does this port represent a sub-bridge for its tagged VLAN within
2297              the Bridge? See ovs-vsctl(8) for more information.
2298
2299       protected: boolean
2300              The  protected  ports  feature allows certain ports to be desig‐
2301              nated as protected. Traffic between protected ports is  blocked.
2302              Protected  ports  can  send traffic to unprotected ports. Unpro‐
2303              tected ports can send traffic to any port. Default is false.
2304
2305       external_ids : fake-bridge-*: optional string
2306              External IDs for a fake bridge (see the fake_bridge column)  are
2307              defined   by   prefixing   a   Bridge   external_ids   key  with
2308              fake-bridge-, e.g. fake-bridge-bridge-id.
2309
2310       other_config : transient: optional string, either true or false
2311              If set to true, the port will  be  removed  when  ovs-ctl  start
2312              --delete-transient-ports is used.
2313
2314       bond_active_slave: optional string
2315              For  a bonded port, record the MAC address of the current active
2316              member.
2317
2318     Port Statistics:
2319
2320       Key-value pairs that report port statistics. The update period is  con‐
2321       trolled  by  other_config:stats-update-interval in the Open_vSwitch ta‐
2322       ble.
2323
2324     Statistics: STP transmit and receive counters:
2325
2326       statistics : stp_tx_count: optional integer
2327              Number of STP BPDUs sent on this port by the spanning  tree  li‐
2328              brary.
2329
2330       statistics : stp_rx_count: optional integer
2331              Number  of  STP  BPDUs received on this port and accepted by the
2332              spanning tree library.
2333
2334       statistics : stp_error_count: optional integer
2335              Number of bad STP BPDUs received on this port. Bad BPDUs include
2336              runt packets and those with an unexpected protocol ID.
2337
2338     Common Columns:
2339
2340       The  overall purpose of these columns is described under Common Columns
2341       at the beginning of this document.
2342
2343       other_config: map of string-string pairs
2344
2345       external_ids: map of string-string pairs
2346

Interface TABLE

2348       An interface within a Port.
2349
2350   Summary:
2351       Core Features:
2352         name                        immutable string (must be  unique  within
2353                                     table)
2354         ifindex                     optional   integer,   in   range   0   to
2355                                     4,294,967,295
2356         mac_in_use                  optional string
2357         mac                         optional string
2358         error                       optional string
2359         OpenFlow Port Number:
2360            ofport                   optional integer
2361            ofport_request           optional integer, in range 1 to 65,279
2362       System-Specific Details:
2363         type                        string
2364       Tunnel Options:
2365         options : remote_ip         optional string
2366         options : local_ip          optional string
2367         options : in_key            optional string
2368         options : out_key           optional string
2369         options : dst_port          optional string
2370         options : key               optional string
2371         options : tos               optional string
2372         options : ttl               optional string
2373         options : df_default        optional string, either true or false
2374         options : egress_pkt_mark   optional string
2375         Tunnel Options: lisp only:
2376            options : packet_type    optional string, either legacy_l3 or ptap
2377         Tunnel Options: vxlan only:
2378            options : exts           optional string
2379            options : packet_type    optional  string,   one   of   legacy_l2,
2380                                     legacy_l3, or ptap
2381         Tunnel Options: gre only:
2382            options : packet_type    optional   string,   one   of  legacy_l2,
2383                                     legacy_l3, or ptap
2384            options : seq            optional string, either true or false
2385         Tunnel Options: gre, ip6gre, geneve, bareudp and vxlan:
2386            options : csum           optional string, either true or false
2387         Tunnel Options: IPsec:
2388            options : psk            optional string
2389            options : remote_cert    optional string
2390            options : remote_name    optional string
2391       Tunnel Options: erspan only:
2392         options : erspan_idx        optional string
2393         options : erspan_ver        optional string
2394         options : erspan_dir        optional string
2395         options : erspan_hwid       optional string
2396       Tunnel Options: Bareudp only:
2397         options : payload_type      optional string
2398       Tunnel Options: srv6 only:
2399         options : srv6_segs         optional string
2400         options : srv6_flowlabel    optional string, one of compute, copy, or
2401                                     zero
2402       Patch Options:
2403         options : peer              optional string
2404       PMD (Poll Mode Driver) Options:
2405         options : n_rxq             optional  string,  containing an integer,
2406                                     at least 1
2407         options : dpdk-devargs      optional string
2408         other_config : pmd-rxq-affinity
2409                                     optional string
2410         options : xdp-mode          optional  string,  one  of   best-effort,
2411                                     generic, native-with-zerocopy, or native
2412         options : use-need-wakeup   optional string, either true or false
2413         options : vhost-server-path
2414                                     optional string
2415         options : tx-retries-max    optional  string,  containing an integer,
2416                                     in range 0 to 32
2417         options : n_rxq_desc        optional string, containing  an  integer,
2418                                     in range 1 to 4,096
2419         options : n_txq_desc        optional  string,  containing an integer,
2420                                     in range 1 to 4,096
2421         options : dpdk-vf-mac       optional string
2422         options : rx-steering       optional string, either rss+lacp or rss
2423         other_config : tx-steering  optional string, either hash or thread
2424       EMC (Exact Match Cache) Configuration:
2425         other_config : emc-enable   optional string, either true or false
2426       MTU:
2427         mtu                         optional integer
2428         mtu_request                 optional integer, at least 1
2429       Interface Status:
2430         admin_state                 optional string, either down or up
2431         link_state                  optional string, either down or up
2432         link_resets                 optional integer
2433         link_speed                  optional integer
2434         duplex                      optional string, either full or half
2435         lacp_current                optional boolean
2436         status                      map of string-string pairs
2437         status : driver_name        optional string
2438         status : driver_version     optional string
2439         status : firmware_version   optional string
2440         status : source_ip          optional string
2441         status : tunnel_egress_iface
2442                                     optional string
2443         status : tunnel_egress_iface_carrier
2444                                     optional string, either down or up
2445         dpdk:
2446            status : port_no         optional string
2447            status : numa_id         optional string
2448            status : min_rx_bufsize  optional string
2449            status : max_rx_pktlen   optional string
2450            status : max_rx_queues   optional string
2451            status : max_tx_queues   optional string
2452            status : max_mac_addrs   optional string
2453            status : max_hash_mac_addrs
2454                                     optional string
2455            status : max_vfs         optional string
2456            status : max_vmdq_pools  optional string
2457            status : if_type         optional string
2458            status : if_descr        optional string
2459            status : pci-vendor_id   optional string
2460            status : pci-device_id   optional string
2461       Statistics:
2462         Statistics: Successful transmit and receive counters:
2463            statistics : rx_packets  optional integer
2464            statistics : rx_bytes    optional integer
2465            statistics : tx_packets  optional integer
2466            statistics : tx_bytes    optional integer
2467         Statistics: Receive errors:
2468            statistics : rx_dropped  optional integer
2469            statistics : rx_frame_err
2470                                     optional integer
2471            statistics : rx_over_err optional integer
2472            statistics : rx_crc_err  optional integer
2473            statistics : rx_errors   optional integer
2474         Statistics: Transmit errors:
2475            statistics : tx_dropped  optional integer
2476            statistics : collisions  optional integer
2477            statistics : tx_errors   optional integer
2478       Ingress Policing:
2479         ingress_policing_rate       integer, at least 0
2480         ingress_policing_kpkts_rate
2481                                     integer, at least 0
2482         ingress_policing_burst      integer, at least 0
2483         ingress_policing_kpkts_burst
2484                                     integer, at least 0
2485       Bidirectional Forwarding Detection (BFD):
2486         BFD Configuration:
2487            bfd : enable             optional string, either true or false
2488            bfd : min_rx             optional string, containing  an  integer,
2489                                     at least 1
2490            bfd : min_tx             optional  string,  containing an integer,
2491                                     at least 1
2492            bfd : decay_min_rx       optional string, containing an integer
2493            bfd : forwarding_if_rx   optional string, either true or false
2494            bfd : cpath_down         optional string, either true or false
2495            bfd : check_tnl_key      optional string, either true or false
2496            bfd : bfd_local_src_mac  optional string
2497            bfd : bfd_local_dst_mac  optional string
2498            bfd : bfd_remote_dst_mac optional string
2499            bfd : bfd_src_ip         optional string
2500            bfd : bfd_dst_ip         optional string
2501            bfd : oam                optional string
2502            bfd : mult               optional string, containing  an  integer,
2503                                     in range 1 to 255
2504         BFD Status:
2505            bfd_status : state       optional string, one of admin_down, down,
2506                                     init, or up
2507            bfd_status : forwarding  optional string, either true or false
2508            bfd_status : diagnostic  optional string
2509            bfd_status : remote_state
2510                                     optional string, one of admin_down, down,
2511                                     init, or up
2512            bfd_status : remote_diagnostic
2513                                     optional string
2514            bfd_status : flap_count  optional  string,  containing an integer,
2515                                     at least 0
2516       Connectivity Fault Management:
2517         cfm_mpid                    optional integer
2518         cfm_flap_count              optional integer
2519         cfm_fault                   optional boolean
2520         cfm_fault_status : recv     none
2521         cfm_fault_status : rdi      none
2522         cfm_fault_status : maid     none
2523         cfm_fault_status : loopback
2524                                     none
2525         cfm_fault_status : overflow
2526                                     none
2527         cfm_fault_status : override
2528                                     none
2529         cfm_fault_status : interval
2530                                     none
2531         cfm_remote_opstate          optional string, either down or up
2532         cfm_health                  optional integer, in range 0 to 100
2533         cfm_remote_mpids            set of integers
2534         other_config : cfm_interval
2535                                     optional string, containing an integer
2536         other_config : cfm_extended
2537                                     optional string, either true or false
2538         other_config : cfm_demand   optional string, either true or false
2539         other_config : cfm_opstate  optional string, either down or up
2540         other_config : cfm_ccm_vlan
2541                                     optional string, containing  an  integer,
2542                                     in range 1 to 4,095
2543         other_config : cfm_ccm_pcp  optional  string,  containing an integer,
2544                                     in range 1 to 7
2545       Bonding Configuration:
2546         other_config : lacp-port-id
2547                                     optional string, containing  an  integer,
2548                                     in range 1 to 65,535
2549         other_config : lacp-port-priority
2550                                     optional  string,  containing an integer,
2551                                     in range 1 to 65,535
2552         other_config : lacp-aggregation-key
2553                                     optional string, containing  an  integer,
2554                                     in range 1 to 65,535
2555       Virtual Machine Identifiers:
2556         external_ids : attached-mac
2557                                     optional string
2558         external_ids : iface-id     optional string
2559         external_ids : iface-status
2560                                     optional  string,  either active or inac‐
2561                                     tive
2562         external_ids : vm-id        optional string
2563       Auto Attach Configuration:
2564         lldp : enable               optional string, either true or false
2565       Flow control Configuration:
2566         options : rx-flow-ctrl      optional string, either true or false
2567         options : tx-flow-ctrl      optional string, either true or false
2568         options : flow-ctrl-autoneg
2569                                     optional string, either true or false
2570       Link State Change detection mode:
2571         options : dpdk-lsc-interrupt
2572                                     optional string, either true or false
2573       Common Columns:
2574         other_config                map of string-string pairs
2575         external_ids                map of string-string pairs
2576
2577   Details:
2578     Core Features:
2579
2580       name: immutable string (must be unique within table)
2581              Interface name. Should be  alphanumeric.  For  non-bonded  port,
2582              this  should  be the same as the port name. It must otherwise be
2583              unique among the names of ports, interfaces, and  bridges  on  a
2584              host.
2585
2586              The  maximum length of an interface name depends on the underly‐
2587              ing datapath:
2588
2589              •      The names of interfaces implemented as Linux and BSD net‐
2590                     work  devices,  including  interfaces with type internal,
2591                     tap, or system plus the different types of tunnel  ports,
2592                     are  limited  to  15 bytes. Windows limits these names to
2593                     255 bytes.
2594
2595              •      The names of patch ports are not used in  the  underlying
2596                     datapath,  so operating system restrictions do not apply.
2597                     Thus, they may have arbitrary length.
2598
2599              Regardless of other restrictions, OpenFlow only supports 15-byte
2600              names,  which means that ovs-ofctl and OpenFlow controllers will
2601              show names truncated to 15 bytes.
2602
2603       ifindex: optional integer, in range 0 to 4,294,967,295
2604              A positive interface index as defined for SNMP  MIB-II  in  RFCs
2605              1213  and  2863,  if  the  interface  has  one, otherwise 0. The
2606              ifindex is useful for seamless integration with  protocols  such
2607              as SNMP and sFlow.
2608
2609       mac_in_use: optional string
2610              The MAC address in use by this interface.
2611
2612       mac: optional string
2613              Ethernet  address  to  set for this interface. If unset then the
2614              default MAC address is used:
2615
2616              •      For the local interface, the default is  the  lowest-num‐
2617                     bered  MAC  address  among the other bridge ports, either
2618                     the value of the mac in its Port record, if set,  or  its
2619                     actual MAC (for bonded ports, the MAC of its member whose
2620                     name is first in alphabetical order). Internal ports  and
2621                     bridge ports that are used as port mirroring destinations
2622                     (see the Mirror table) are ignored.
2623
2624              •      For other internal interfaces, the default  MAC  is  ran‐
2625                     domly generated.
2626
2627              •      External  interfaces typically have a MAC address associ‐
2628                     ated with their hardware.
2629
2630              Some interfaces may not have  a  software-controllable  MAC  ad‐
2631              dress.  This  option only affects internal ports. For other type
2632              ports, you can change the MAC address outside Open vSwitch,  us‐
2633              ing ip command.
2634
2635       error: optional string
2636              If  the  configuration of the port failed, as indicated by -1 in
2637              ofport, Open vSwitch sets this column to an error description in
2638              human readable form. Otherwise, Open vSwitch clears this column.
2639
2640     OpenFlow Port Number:
2641
2642       When  a  client  adds a new interface, Open vSwitch chooses an OpenFlow
2643       port number for the new port. If the client that adds the port fills in
2644       ofport_request,  then  Open vSwitch tries to use its value as the Open‐
2645       Flow port number. Otherwise, or if the requested port number is already
2646       in use or cannot be used for another reason, Open vSwitch automatically
2647       assigns a free port number. Regardless of how the port number  was  ob‐
2648       tained,  Open  vSwitch  then reports in ofport the port number actually
2649       assigned.
2650
2651       Open vSwitch limits the port numbers that it automatically  assigns  to
2652       the  range 1 through 32,767, inclusive. Controllers therefore have free
2653       use of ports 32,768 and up.
2654
2655       ofport: optional integer
2656              OpenFlow port number for this interface. Open vSwitch sets  this
2657              column’s value, so other clients should treat it as read-only.
2658
2659              The  OpenFlow  ``local’’  port (OFPP_LOCAL) is 65,534. The other
2660              valid port numbers are in the  range  1  to  65,279,  inclusive.
2661              Value -1 indicates an error adding the interface.
2662
2663       ofport_request: optional integer, in range 1 to 65,279
2664              Requested OpenFlow port number for this interface.
2665
2666              A  client  should  ideally  set  this column’s value in the same
2667              database transaction that it uses to create the interface.  Open
2668              vSwitch  version  2.1 and later will honor a later request for a
2669              specific port  number,  althuogh  it  might  confuse  some  con‐
2670              trollers: OpenFlow does not have a way to announce a port number
2671              change, so Open vSwitch represents it over OpenFlow  as  a  port
2672              deletion followed immediately by a port addition.
2673
2674              If  ofport_request  is set or changed to some other port’s auto‐
2675              matically assigned port number, Open vSwitch chooses a new  port
2676              number for the latter port.
2677
2678     System-Specific Details:
2679
2680       type: string
2681              The interface type. The types supported by a particular instance
2682              of Open vSwitch are listed in  the  iface_types  column  in  the
2683              Open_vSwitch table. The following types are defined:
2684
2685              system An ordinary network device, e.g. eth0 on Linux. Sometimes
2686                     referred to as ``external  interfaces’’  since  they  are
2687                     generally connected to hardware external to that on which
2688                     the Open vSwitch is running. The empty string is  a  syn‐
2689                     onym for system.
2690
2691              internal
2692                     A  simulated network device that sends and receives traf‐
2693                     fic. An internal interface whose name is the same as  its
2694                     bridge’s  name is called the ``local interface.’’ It does
2695                     not make sense to bond  an  internal  interface,  so  the
2696                     terms  ``port’’  and  ``interface’’ are often used impre‐
2697                     cisely for internal interfaces.
2698
2699              tap    A TUN/TAP device managed by Open vSwitch.
2700
2701                     Open vSwitch checks the interface state before send pack‐
2702                     ets  to  the  device.  When  it  is down, the packets are
2703                     dropped and the tx_dropped statistic is  updated  accord‐
2704                     ingly.  Older  versions of Open vSwitch did not check the
2705                     interface state and then the tx_packets  was  incremented
2706                     along with tx_dropped.
2707
2708              geneve An             Ethernet            over            Geneve
2709                     (http://tools.ietf.org/html/draft-ietf-nvo3-geneve)
2710                     IPv4/IPv6  tunnel.  A description of how to match and set
2711                     Geneve options can be found in the ovs-ofctl manual page.
2712
2713              gre    Generic Routing Encapsulation  (GRE)  over  IPv4  tunnel,
2714                     configurable to encapsulate layer 2 or layer 3 traffic.
2715
2716              ip6gre Generic Routing Encapsulation (GRE) over IPv6 tunnel, en‐
2717                     capsulate layer 2 traffic.
2718
2719              vxlan  An Ethernet tunnel over the UDP-based VXLAN protocol  de‐
2720                     scribed in RFC 7348.
2721
2722                     Open  vSwitch  uses  IANA-assigned  UDP  destination port
2723                     4789. The source port used for VXLAN traffic varies on  a
2724                     per-flow basis and is in the ephemeral port range.
2725
2726              lisp   A  layer  3 tunnel over the experimental, UDP-based Loca‐
2727                     tor/ID Separation Protocol (RFC 6830).
2728
2729                     Only IPv4 and IPv6 packets are supported by the protocol,
2730                     and  they  are  sent  and  received  without  an Ethernet
2731                     header. Traffic to/from LISP ports is expected to be con‐
2732                     figured  explicitly,  and  the  ports are not intended to
2733                     participate in learning based switching.  As  such,  they
2734                     are always excluded from packet flooding.
2735
2736              stt    The  Stateless  TCP  Tunnel  (STT) is particularly useful
2737                     when tunnel endpoints are in end-systems, as it  utilizes
2738                     the  capabilities  of standard network interface cards to
2739                     improve performance. STT utilizes a TCP-like  header  in‐
2740                     side  the  IP  header. It is stateless, i.e., there is no
2741                     TCP connection state of any kind associated with the tun‐
2742                     nel. The TCP-like header is used to leverage the capabil‐
2743                     ities of existing network interface cards, but should not
2744                     be  interpreted  as implying any sort of connection state
2745                     between endpoints. Since the STT protocol does not engage
2746                     in  the usual TCP 3-way handshake, so it will have diffi‐
2747                     culty traversing stateful firewalls. The protocol is doc‐
2748                     umented   at  https://tools.ietf.org/html/draft-davie-stt
2749                     All traffic uses a default destination port of 7471.
2750
2751              patch  A pair of virtual devices that act as a patch cable.
2752
2753              gtpu   GPRS Tunneling Protocol (GTP) is a group of IP-based com‐
2754                     munications  protocols used to carry general packet radio
2755                     service (GPRS) within GSM, UMTS and LTE  networks.  GTP-U
2756                     is  used for carrying user data within the GPRS core net‐
2757                     work and between the radio access network  and  the  core
2758                     network.  The user data transported can be packets in any
2759                     of IPv4, IPv6, or PPP formats.
2760
2761                     The protocol is documented at http://www.3gpp.org/DynaRe
2762                     port/29281.htm
2763
2764                     Open  vSwitch  uses UDP destination port 2152. The source
2765                     port used for GTP traffic varies on a per-flow basis  and
2766                     is in the ephemeral port range.
2767
2768              Bareudp
2769                     The  Bareudp  tunnel  provides a generic L3 encapsulation
2770                     support for tunnelling different L3 protocols like  MPLS,
2771                     IP, NSH etc. inside a UDP tunnel.
2772
2773              srv6   Segment  Routing IPv6 (SRv6) tunnel encapsulates L3 traf‐
2774                     fic as "IPv6 in IPv6" or  "IPv4  in  IPv6"  with  Segment
2775                     Routing  Header  (SRH)  defined  in RFC 8754. The segment
2776                     list in SRH can be set using a SRv6 specific option.
2777
2778     Tunnel Options:
2779
2780       These options apply to interfaces with type of  geneve,  bareudp,  gre,
2781       ip6gre, vxlan, lisp, stt and srv6.
2782
2783       Each tunnel must be uniquely identified by the combination of type, op‐
2784       tions:remote_ip, options:local_ip, and options:in_key. If two ports are
2785       defined that are the same except one has an optional identifier and the
2786       other does not, the more specific one is matched first.  options:in_key
2787       is considered more specific than options:local_ip if a port defines one
2788       and another port defines the other. options:in_key  is  not  applicable
2789       for  bareudp and srv6 tunnels. Hence it is not considered while identi‐
2790       fying bareudp or srv6 tunnels.
2791
2792       options : remote_ip: optional string
2793              Required. The remote tunnel endpoint, one of:
2794
2795              •      An  IPv4  or  IPv6  address  (not  a  DNS   name),   e.g.
2796                     192.168.0.123. Only unicast endpoints are supported.
2797
2798              •      The word flow. The tunnel accepts packets from any remote
2799                     tunnel endpoint. To process only packets from a  specific
2800                     remote tunnel endpoint, the flow entries may match on the
2801                     tun_src or tun_ipv6_srcfield. When sending packets  to  a
2802                     remote_ip=flow  tunnel,  the flow actions must explicitly
2803                     set the tun_dst or tun_ipv6_dst field to the  IP  address
2804                     of  the  desired  remote  tunnel  endpoint,  e.g.  with a
2805                     set_field action.
2806
2807              The remote tunnel endpoint for any packet received from a tunnel
2808              is  available  in the tun_src field for matching in the flow ta‐
2809              ble.
2810
2811       options : local_ip: optional string
2812              Optional. The tunnel destination IP that received  packets  must
2813              match.  Default  is to match all addresses. If specified, may be
2814              one of:
2815
2816              •      An IPv4/IPv6 address (not a DNS name), e.g. 192.168.12.3.
2817
2818              •      The word flow. The tunnel accepts packets sent to any  of
2819                     the  local  IP  addresses  of  the system running OVS. To
2820                     process only packets sent to a specific IP  address,  the
2821                     flow  entries  may  match  on the tun_dst or tun_ipv6_dst
2822                     field. When sending packets to  a  local_ip=flow  tunnel,
2823                     the  flow  actions  may  explicitly  set  the  tun_src or
2824                     tun_ipv6_src field to the desired IP address, e.g. with a
2825                     set_field  action.  However,  while  routing the tunneled
2826                     packet out, the local system may override  the  specified
2827                     address with the local IP address configured for the out‐
2828                     going system interface.
2829
2830                     This option is valid only  for  tunnels  also  configured
2831                     with the remote_ip=flow option.
2832
2833              The tunnel destination IP address for any packet received from a
2834              tunnel is available in the tun_dst  or  tun_ipv6_dst  field  for
2835              matching in the flow table.
2836
2837       options : in_key: optional string
2838              Optional,  not applicable for bareudp and srv6. The key that re‐
2839              ceived packets must contain, one of:
2840
28410. The tunnel receives packets with no key or with a  key
2842                     of  0. This is equivalent to specifying no options:in_key
2843                     at all.
2844
2845              •      A positive 24-bit (for Geneve, VXLAN, and  LISP),  32-bit
2846                     (for GRE) or 64-bit (for STT) number. The tunnel receives
2847                     only packets with the specified key.
2848
2849              •      The word flow. The tunnel accepts packets with  any  key.
2850                     The  key  will be placed in the tun_id field for matching
2851                     in the flow table. The ovs-fields(7) manual page contains
2852                     additional  information about matching fields in OpenFlow
2853                     flows.
2854
2855       options : out_key: optional string
2856              Optional, not applicable for bareudp and srv6. The key to be set
2857              on outgoing packets, one of:
2858
28590. Packets sent through the tunnel will have no key. This
2860                     is equivalent to specifying no options:out_key at all.
2861
2862              •      A positive 24-bit (for Geneve, VXLAN  and  LISP),  32-bit
2863                     (for  GRE)  or  64-bit  (for  STT)  number.  Packets sent
2864                     through the tunnel will have the specified key.
2865
2866              •      The word flow. Packets sent through the tunnel will  have
2867                     the  key  set using the set_tunnel Nicira OpenFlow vendor
2868                     extension (0 is used in the absence of  an  action).  The
2869                     ovs-fields(7) manual page contains additional information
2870                     about the Nicira OpenFlow vendor extensions.
2871
2872       options : dst_port: optional string
2873              Optional. The tunnel transport layer destination port,  for  UDP
2874              and TCP based tunnel protocols (Geneve, VXLAN, LISP, and STT).
2875
2876       options : key: optional string
2877              Optional. Shorthand to set in_key and out_key at the same time.
2878
2879       options : tos: optional string
2880              Optional. The value of the ToS bits to be set on the encapsulat‐
2881              ing packet. ToS is interpreted as DSCP and ECN  bits,  ECN  part
2882              must be zero. It may also be the word inherit, in which case the
2883              ToS will be copied from the inner packet if it is IPv4  or  IPv6
2884              (otherwise  it  will be 0). The ECN fields are always inherited.
2885              Default is 0.
2886
2887       options : ttl: optional string
2888              Optional. The TTL to be set on the encapsulating packet. It  may
2889              also  be  the word inherit, in which case the TTL will be copied
2890              from the inner packet if it is IPv4 or IPv6 (otherwise  it  will
2891              be  the system default, typically 64). Default is the system de‐
2892              fault TTL.
2893
2894       options : df_default: optional string, either true or false
2895              Optional. If enabled, the Don’t Fragment bit will be set on tun‐
2896              nel  outer  headers  to allow path MTU discovery. Default is en‐
2897              abled; set to false to disable.
2898
2899       options : egress_pkt_mark: optional string
2900              Optional. The pkt_mark to be set on  the  encapsulating  packet.
2901              This  option  sets  packet  mark for the tunnel endpoint for all
2902              tunnel packets including tunnel monitoring.
2903
2904     Tunnel Options: lisp only:
2905
2906       options : packet_type: optional string, either legacy_l3 or ptap
2907              A LISP tunnel sends and receives only  IPv4  and  IPv6  packets.
2908              This  option controls what how the tunnel represents the packets
2909              that it sends and receives:
2910
2911              •      By default, or if this option is  legacy_l3,  the  tunnel
2912                     represents  packets  as Ethernet frames for compatibility
2913                     with legacy OpenFlow controllers that expect this  behav‐
2914                     ior.
2915
2916              •      If this option is ptap, the tunnel represents packets us‐
2917                     ing the packet_type mechanism introduced in OpenFlow 1.5.
2918
2919     Tunnel Options: vxlan only:
2920
2921       options : exts: optional string
2922              Optional. Comma separated list of optional VXLAN  extensions  to
2923              enable. The following extensions are supported:
2924
2925gbp:  VXLAN-GBP allows to transport the group policy con‐
2926                     text of a packet across the VXLAN tunnel to other network
2927                     peers.    See   the   description   of   tun_gbp_id   and
2928                     tun_gbp_flags in ovs-fields(7)  for  additional  informa‐
2929                     tion.
2930                     (https://tools.ietf.org/html/draft-smith-vxlan-group-pol
2931                     icy)
2932
2933gpe: Support for Generic Protocol Encapsulation in accor‐
2934                     dance             with             IETF             draft
2935                     https://tools.ietf.org/html/draft-ietf-nvo3-vxlan-gpe.
2936                     Without this option, a VXLAN packet  always  encapsulates
2937                     an  Ethernet frame. With this option, an VXLAN packet may
2938                     also encapsulate an IPv4, IPv6, NSH, or MPLS packet.
2939
2940       options : packet_type: optional string, one of legacy_l2, legacy_l3, or
2941       ptap
2942              This  option controls what types of packets the tunnel sends and
2943              receives and how it represents them:
2944
2945              •      By default, or if this option is  legacy_l2,  the  tunnel
2946                     sends and receives only Ethernet frames.
2947
2948              •      If  this  option  is  legacy_l3, the tunnel sends and re‐
2949                     ceives only non-Ethernet (L3) packet, but the packets are
2950                     represented  as  Ethernet  frames  for compatibility with
2951                     legacy OpenFlow controllers that  expect  this  behavior.
2952                     This requires enabling gpe in options:exts.
2953
2954              •      If  this  option is ptap, Open vSwitch represents packets
2955                     in the tunnel using the packet_type mechanism  introduced
2956                     in  OpenFlow  1.5.  This  mechanism  supports any kind of
2957                     packet, but actually sending and  receiving  non-Ethernet
2958                     packets   requires   additionally  enabling  gpe  in  op‐
2959                     tions:exts.
2960
2961     Tunnel Options: gre only:
2962
2963       gre interfaces support these options.
2964
2965       options : packet_type: optional string, one of legacy_l2, legacy_l3, or
2966       ptap
2967              This  option controls what types of packets the tunnel sends and
2968              receives and how it represents them:
2969
2970              •      By default, or if this option is  legacy_l2,  the  tunnel
2971                     sends and receives only Ethernet frames.
2972
2973              •      If  this  option  is  legacy_l3, the tunnel sends and re‐
2974                     ceives only non-Ethernet (L3) packet, but the packets are
2975                     represented  as  Ethernet  frames  for compatibility with
2976                     legacy OpenFlow controllers that expect this behavior.
2977
2978              •      The legacy_l3 option is only available via the user space
2979                     datapath.  The  OVS  kernel datapath does not support de‐
2980                     vices of type ARPHRD_IPGRE which is the  requirement  for
2981                     legacy_l3 type packets.
2982
2983              •      If this option is ptap, the tunnel sends and receives any
2984                     kind of packet. Open vSwitch represents  packets  in  the
2985                     tunnel  using  the  packet_type  mechanism  introduced in
2986                     OpenFlow 1.5.
2987
2988       options : seq: optional string, either true or false
2989              Optional. A 4-byte sequence number field for  GRE  tunnel  only.
2990              Default  is  disabled, set to true to enable. Sequence number is
2991              incremented by one on each outgoing packet.
2992
2993     Tunnel Options: gre, ip6gre, geneve, bareudp and vxlan:
2994
2995       gre, ip6gre, geneve, bareudp and vxlan  interfaces  support  these  op‐
2996       tions.
2997
2998       options : csum: optional string, either true or false
2999              Optional.  Compute  encapsulation  header  (either  GRE  or UDP)
3000              checksums on outgoing packets. Default is disabled, set to  true
3001              to  enable.  Checksums present on incoming packets will be vali‐
3002              dated regardless of this setting.
3003
3004              When using the upstream  Linux  kernel  module,  computation  of
3005              checksums for geneve and vxlan requires Linux kernel version 4.0
3006              or higher. gre and ip6gre support checksums for all versions  of
3007              Open  vSwitch  that  support  GRE. The out of tree kernel module
3008              distributed as part of OVS can compute all tunnel  checksums  on
3009              any kernel version that it is compatible with.
3010
3011     Tunnel Options: IPsec:
3012
3013       Setting  any of these options enables IPsec support for a given tunnel.
3014       gre, geneve, vxlan and stt interfaces support these  options.  See  the
3015       IPsec section in the Open_vSwitch table for a description of each mode.
3016
3017       options : psk: optional string
3018              In PSK mode only, the preshared secret to negotiate tunnel. This
3019              value must match on both tunnel ends.
3020
3021       options : remote_cert: optional string
3022              In self-signed certificate mode only, name of a  PEM  file  con‐
3023              taining a certificate of the remote switch. The certificate must
3024              be x.509 version 3 and with the string in common name (CN)  also
3025              set in the subject alternative name (SAN).
3026
3027       options : remote_name: optional string
3028              In  CA-signed certificate mode only, common name (CN) of the re‐
3029              mote certificate.
3030
3031     Tunnel Options: erspan only:
3032
3033       Only erspan interfaces support these options.
3034
3035       options : erspan_idx: optional string
3036              20 bit index/port number associated with  the  ERSPAN  traffic’s
3037              source  port and direction (ingress/egress). This field is plat‐
3038              form dependent.
3039
3040       options : erspan_ver: optional string
3041              ERSPAN version: 1 for version 1 (type II) or  2  for  version  2
3042              (type III).
3043
3044       options : erspan_dir: optional string
3045              Specifies  the  ERSPAN  v2  mirrored  traffic’s direction. 1 for
3046              egress traffic, and 0 for ingress traffic.
3047
3048       options : erspan_hwid: optional string
3049              ERSPAN hardware ID is a 6-bit unique identifier of an ERSPAN  v2
3050              engine within a system.
3051
3052     Tunnel Options: Bareudp only:
3053
3054       options : payload_type: optional string
3055              Specifies the ethertype of the l3 protocol the bareudp device is
3056              tunnelling. For the tunnels which supports  multiple  ethertypes
3057              of  a  l3  protocol (IP, MPLS) this field specifies the protocol
3058              name as a string.
3059
3060     Tunnel Options: srv6 only:
3061
3062       options : srv6_segs: optional string
3063              Specifies the segment list in Segment Routing Header  (SRH).  It
3064              consists  of  a  comma-separated list of segments represented in
3065              IPv6 format,  e.g.  "fc00:100::1,fc00:200::1,fc00:300::1".  Note
3066              that the first segment must be the same as options:remote_ip.
3067
3068       options  :  srv6_flowlabel:  optional  string, one of compute, copy, or
3069       zero
3070              Optional. This option  controls  how  flowlabel  in  outer  IPv6
3071              header  is  configured.  It gives the benefit of IPv6 flow label
3072              based load balancing, which is supported by some popular  vendor
3073              appliances. Like net.ipv6.seg6_flowlabel sysconfig, it is one of
3074              the three values below:
3075
3076              •      By default, or if this option is copy, copy the flowlabel
3077                     of  inner  IPv6  header  to  the  flowlabel of outer IPv6
3078                     header. If inner header is not IPv6, it is set to 0.
3079
3080              •      If this option is zero, simply set flowlabel to 0.
3081
3082              •      If this option is compute, set flowlabel to a  hash  over
3083                     the L3/L4 fields of the inner packet.
3084
3085     Patch Options:
3086
3087       These options apply only to patch ports, that is, interfaces whose type
3088       column is patch. Patch ports are mainly a way to connect otherwise  in‐
3089       dependent bridges to one another, similar to how one might plug an Eth‐
3090       ernet cable (a ``patch cable’’) into two physical switches  to  connect
3091       those  switches.  The effect of plugging a patch port into two switches
3092       is conceptually similar to that of plugging the two  ends  of  a  Linux
3093       veth  device into those switches, but the implementation of patch ports
3094       makes them much more efficient.
3095
3096       Patch ports may connect two different bridges (the usual case)  or  the
3097       same bridge. In the latter case, take special care to avoid loops, e.g.
3098       by programming appropriate flows with OpenFlow. Patch ports do not work
3099       if  its  ends  are  attached to bridges on different datapaths, e.g. to
3100       connect bridges in system and netdev datapaths.
3101
3102       The following command creates and connects patch ports p0  and  p1  and
3103       adds them to bridges br0 and br1, respectively:
3104
3105       ovs-vsctl add-port br0 p0 -- set Interface p0 type=patch options:peer=p1 \
3106              -- add-port br1 p1 -- set Interface p1 type=patch options:peer=p0
3107
3108
3109       options : peer: optional string
3110              The  name  of the Interface for the other side of the patch. The
3111              named Interface’s own peer option must specify this  Interface’s
3112              name.  That is, the two patch interfaces must have reversed name
3113              and peer values.
3114
3115     PMD (Poll Mode Driver) Options:
3116
3117       Only PMD netdevs support these options.
3118
3119       options : n_rxq: optional string, containing an integer, at least 1
3120              Specifies the maximum number of rx queues to be created for  PMD
3121              netdev. If not specified or specified to 0, one rx queue will be
3122              created by default. Not supported by DPDK vHost interfaces.
3123
3124       options : dpdk-devargs: optional string
3125              Specifies the PCI address associated with the port for  physical
3126              devices,  or  the  virtual driver to be used for the port when a
3127              virtual PMD is intended to be used. For the latter, the argument
3128              string  typically  takes  the  form  of  eth_driver_namex, where
3129              driver_name is a valid virtual DPDK PMD driver name and x  is  a
3130              unique  identifier  of your choice for the given port. Only sup‐
3131              ported by the dpdk port type.
3132
3133       other_config : pmd-rxq-affinity: optional string
3134              Specifies mapping of RX queues of this interface to CPU cores.
3135
3136              Value should be set in the following form:
3137
3138              other_config:pmd-rxq-affinity=<rxq-affinity-list>
3139
3140              where
3141
3142              •      <rxq-affinity-list> ::= NULL | <non-empty-list>
3143
3144              •      <non-empty-list> ::= <affinity-pair> | <affinity-pair>  ,
3145                     <non-empty-list>
3146
3147              •      <affinity-pair> ::= <queue-id> : <core-id>
3148
3149       options  :  xdp-mode: optional string, one of best-effort, generic, na‐
3150       tive-with-zerocopy, or native
3151              Specifies the operational mode of the XDP program.
3152
3153              In native-with-zerocopy mode the XDP program is loaded into  the
3154              device  driver  with  zero-copy RX and TX enabled. This mode re‐
3155              quires device driver support and has the  best  performance  be‐
3156              cause there should be no copying of packets.
3157
3158              native  is  the  same as native-with-zerocopy, but without zero-
3159              copy capability. This requires at least one copy between  kernel
3160              and  the  userspace. This mode also requires support from device
3161              driver.
3162
3163              In generic case the XDP program in kernel works after skb  allo‐
3164              cation  on  early stages of packet processing inside the network
3165              stack. This mode doesn’t require driver support,  but  has  much
3166              lower performance.
3167
3168              best-effort  tries  to detect and choose the best (fastest) from
3169              the available modes for current interface.
3170
3171              Note that this option is specific to netdev-afxdp.  Defaults  to
3172              best-effort mode.
3173
3174       options : use-need-wakeup: optional string, either true or false
3175              Specifies whether to use need_wakeup feature in afxdp netdev. If
3176              enabled, OVS explicitly wakes up the  kernel  RX,  using  poll()
3177              syscall  and  wakes  up TX, using sendto() syscall. For physical
3178              devices, this feature improves the performance by  avoiding  un‐
3179              necessary  sendto  syscalls.  Defaults  to  true if supported by
3180              libbpf.
3181
3182       options : vhost-server-path: optional string
3183              The value specifies the path to the  socket  associated  with  a
3184              vHost  User  client mode device that has been or will be created
3185              by QEMU. Only supported by dpdkvhostuserclient interfaces.
3186
3187       options : tx-retries-max: optional string, containing  an  integer,  in
3188       range 0 to 32
3189              The  value specifies the maximum amount of vhost tx retries that
3190              can be made while trying to send a batch of packets to an inter‐
3191              face. Only supported by dpdkvhostuserclient interfaces.
3192
3193              Default value is 8.
3194
3195       options  : n_rxq_desc: optional string, containing an integer, in range
3196       1 to 4,096
3197              Specifies the rx queue size (number  rx  descriptors)  for  dpdk
3198              ports.  The  value must be a power of 2, less than 4096 and sup‐
3199              ported by the hardware of the device being  configured.  If  not
3200              specified  or  an incorrect value is specified, 2048 rx descrip‐
3201              tors will be used by default.
3202
3203       options : n_txq_desc: optional string, containing an integer, in  range
3204       1 to 4,096
3205              Specifies  the  tx  queue  size (number tx descriptors) for dpdk
3206              ports. The value must be a power of 2, less than 4096  and  sup‐
3207              ported  by  the  hardware of the device being configured. If not
3208              specified or an incorrect value is specified, 2048  tx  descrip‐
3209              tors will be used by default.
3210
3211       options : dpdk-vf-mac: optional string
3212              Ethernet address to set for this VF interface. If unset then the
3213              default MAC address is used:
3214
3215              •      For most drivers, the default  MAC  address  assigned  by
3216                     their hardware.
3217
3218              •      For  bifurcated  drivers,  the  MAC currently used by the
3219                     kernel netdevice.
3220
3221              This option may only be used with dpdk VF representors.
3222
3223       options : rx-steering: optional string, either rss+lacp or rss
3224              Configure hardware Rx queue steering policy.
3225
3226              This option takes one of the following values:
3227
3228              rss    Distribution of ingress packets in all Rx queues  accord‐
3229                     ing to the RSS algorithm. This is the default behaviour.
3230
3231              rss+lacp
3232                     Distribution  of ingress packets according to the RSS al‐
3233                     gorithm on all but the last Rx queue. An extra  Rx  queue
3234                     is allocated for LACP packets.
3235
3236              If the user has already configured multiple options:n_rxq on the
3237              port, an additional one will be allocated for the specified pro‐
3238              tocols. Even if the hardware cannot satisfy the requested number
3239              of requested Rx queues, the last Rx queue will be used. If  only
3240              one  Rx  queue  is available or if the hardware does not support
3241              the rte_flow matchers/actions required to redirect the  selected
3242              protocols,  custom  rx-steering  will  fall  back to default rss
3243              mode.
3244
3245              This feature is mutually exclusive with  other_config:hw-offload
3246              as  it  may  conflict  with the offloaded flows. If both are en‐
3247              abled, rx-steering will fall back to default rss mode.
3248
3249              This option is only applicable to interfaces with type dpdk.
3250
3251       other_config : tx-steering: optional string, either hash or thread
3252              Specifies the Tx steering mode for the interface.
3253
3254              thread enables static (1:1) thread-to-txq mapping when the  num‐
3255              ber  of Tx queues is greater than number of PMD threads, and dy‐
3256              namic (N:1) mapping if equal or lower. In  this  mode  a  single
3257              thread can not use more than 1 transmit queue of a given port.
3258
3259              hash enables hash-based Tx steering, which distributes the pack‐
3260              ets on all the transmit queues based on their 5-tuples hashes.
3261
3262              Defaults to thread.
3263
3264     EMC (Exact Match Cache) Configuration:
3265
3266       These settings controls behaviour of EMC lookups/insertions for packets
3267       received from the interface.
3268
3269       other_config : emc-enable: optional string, either true or false
3270              Specifies  if  Exact Match Cache (EMC) should be used while pro‐
3271              cessing  packets  received  from  this   interface.   If   true,
3272              other_config:emc-insert-inv-prob will have effect on this inter‐
3273              face.
3274
3275              Defaults to true.
3276
3277     MTU:
3278
3279       The MTU (maximum transmission unit) is the largest amount of data  that
3280       can fit into a single Ethernet frame. The standard Ethernet MTU is 1500
3281       bytes. Some physical media and many kinds of virtual interfaces can  be
3282       configured with higher MTUs.
3283
3284       A  client  may  change an interface MTU by filling in mtu_request. Open
3285       vSwitch then reports in mtu the currently configured value.
3286
3287       mtu: optional integer
3288              The currently configured MTU for the interface.
3289
3290              This column will be empty for an interface that does not have an
3291              MTU as, for example, some kinds of tunnels do not.
3292
3293              Open  vSwitch  sets this column’s value, so other clients should
3294              treat it as read-only.
3295
3296       mtu_request: optional integer, at least 1
3297              Requested MTU (Maximum Transmission Unit) for the  interface.  A
3298              client can fill this column to change the MTU of an interface.
3299
3300              RFC  791  requires every internet module to be able to forward a
3301              datagram of 68 octets without further fragmentation. The maximum
3302              size of an IP packet is 65535 bytes.
3303
3304              If  this is not set and if the interface has internal type, Open
3305              vSwitch will change the MTU to match the minimum  of  the  other
3306              interfaces in the bridge.
3307
3308     Interface Status:
3309
3310       Status  information about interfaces attached to bridges, updated every
3311       5 seconds. Not all interfaces have all of these properties; virtual in‐
3312       terfaces  don’t  have a link speed, for example. Non-applicable columns
3313       will have empty values.
3314
3315       admin_state: optional string, either down or up
3316              The administrative state of the physical network link.
3317
3318       link_state: optional string, either down or up
3319              The observed state of the physical network link. This  is  ordi‐
3320              narily  the  link’s carrier status. If the interface’s Port is a
3321              bond configured for miimon monitoring, it is instead the network
3322              link’s miimon status.
3323
3324       link_resets: optional integer
3325              The  number of times Open vSwitch has observed the link_state of
3326              this Interface change.
3327
3328       link_speed: optional integer
3329              The negotiated speed of the physical network link. Valid  values
3330              are positive integers greater than 0.
3331
3332       duplex: optional string, either full or half
3333              The duplex mode of the physical network link.
3334
3335       lacp_current: optional boolean
3336              Boolean  value  indicating  LACP  status  for this interface. If
3337              true, this interface has current LACP information about its LACP
3338              partner.  This  information may be used to monitor the health of
3339              interfaces in a LACP enabled port. This column will be empty  if
3340              LACP is not enabled.
3341
3342       status: map of string-string pairs
3343              Key-value pairs that report port status. Supported status values
3344              are type-dependent; some interfaces may not have  a  valid  sta‐
3345              tus:driver_name, for example.
3346
3347       status : driver_name: optional string
3348              The name of the device driver controlling the network adapter.
3349
3350       status : driver_version: optional string
3351              The  version string of the device driver controlling the network
3352              adapter.
3353
3354       status : firmware_version: optional string
3355              The version string of the network adapter’s firmware, if  avail‐
3356              able.
3357
3358       status : source_ip: optional string
3359              The  source  IP  address used for an IPv4/IPv6 tunnel end-point,
3360              such as gre.
3361
3362       status : tunnel_egress_iface: optional string
3363              Egress interface for tunnels. Currently only relevant  for  tun‐
3364              nels on Linux systems, this column will show the name of the in‐
3365              terface which is responsible for routing  traffic  destined  for
3366              the  configured options:remote_ip. This could be an internal in‐
3367              terface such as a bridge port.
3368
3369       status : tunnel_egress_iface_carrier: optional string, either  down  or
3370       up
3371              Whether carrier is detected on status:tunnel_egress_iface.
3372
3373     dpdk:
3374
3375       DPDK specific interface status options.
3376
3377       status : port_no: optional string
3378              DPDK port ID.
3379
3380       status : numa_id: optional string
3381              NUMA socket ID to which an Ethernet device is connected.
3382
3383       status : min_rx_bufsize: optional string
3384              Minimum size of RX buffer.
3385
3386       status : max_rx_pktlen: optional string
3387              Maximum configurable length of RX pkt.
3388
3389       status : max_rx_queues: optional string
3390              Maximum number of RX queues.
3391
3392       status : max_tx_queues: optional string
3393              Maximum number of TX queues.
3394
3395       status : max_mac_addrs: optional string
3396              Maximum number of MAC addresses.
3397
3398       status : max_hash_mac_addrs: optional string
3399              Maximum number of hash MAC addresses for MTA and UTA.
3400
3401       status : max_vfs: optional string
3402              Maximum  number  of  hash MAC addresses for MTA and UTA. Maximum
3403              number of VFs.
3404
3405       status : max_vmdq_pools: optional string
3406              Maximum number of VMDq pools.
3407
3408       status : if_type: optional string
3409              Interface type ID according to IANA ifTYPE MIB definitions.
3410
3411       status : if_descr: optional string
3412              Interface description string.
3413
3414       status : pci-vendor_id: optional string
3415              Vendor ID of PCI device.
3416
3417       status : pci-device_id: optional string
3418              Device ID of PCI device.
3419
3420     Statistics:
3421
3422       Key-value pairs that report interface statistics. The current implemen‐
3423       tation  updates  these counters periodically. The update period is con‐
3424       trolled by other_config:stats-update-interval in the  Open_vSwitch  ta‐
3425       ble.  Future  implementations may update them when an interface is cre‐
3426       ated, when they are queried (e.g. using an OVSDB select operation), and
3427       just before an interface is deleted due to virtual interface hot-unplug
3428       or VM shutdown, and perhaps at other times, but not on any regular  pe‐
3429       riodic basis.
3430
3431       These  are  the  same  statistics  reported  by  OpenFlow in its struct
3432       ofp_port_stats structure. If an interface  does  not  support  a  given
3433       statistic, then that pair is omitted.
3434
3435     Statistics: Successful transmit and receive counters:
3436
3437       statistics : rx_packets: optional integer
3438              Number of received packets.
3439
3440       statistics : rx_bytes: optional integer
3441              Number of received bytes.
3442
3443       statistics : tx_packets: optional integer
3444              Number of transmitted packets.
3445
3446       statistics : tx_bytes: optional integer
3447              Number of transmitted bytes.
3448
3449     Statistics: Receive errors:
3450
3451       statistics : rx_dropped: optional integer
3452              Number of packets dropped by RX.
3453
3454       statistics : rx_frame_err: optional integer
3455              Number of frame alignment errors.
3456
3457       statistics : rx_over_err: optional integer
3458              Number of packets with RX overrun.
3459
3460       statistics : rx_crc_err: optional integer
3461              Number of CRC errors.
3462
3463       statistics : rx_errors: optional integer
3464              Total number of receive errors, greater than or equal to the sum
3465              of the above.
3466
3467     Statistics: Transmit errors:
3468
3469       statistics : tx_dropped: optional integer
3470              Number of packets dropped by TX.
3471
3472       statistics : collisions: optional integer
3473              Number of collisions.
3474
3475       statistics : tx_errors: optional integer
3476              Total number of transmit errors, greater than or  equal  to  the
3477              sum of the above.
3478
3479     Ingress Policing:
3480
3481       These  settings  control  ingress policing for packets received on this
3482       interface. On a physical interface, this limits the rate at which traf‐
3483       fic is allowed into the system from the outside; on a virtual interface
3484       (one connected to a virtual machine), this limits the rate at which the
3485       VM is able to transmit.
3486
3487       Policing is a simple form of quality-of-service that simply drops pack‐
3488       ets received in excess of the configured rate. Due to  its  simplicity,
3489       policing  is  usually  less accurate and less effective than egress QoS
3490       (which is configured using the QoS and Queue tables).
3491
3492       Policing settings can be set with byte rate or packet  rate,  and  they
3493       can  be  configured  together, in which case they take effect together,
3494       that means the smaller speed limit of them is in effect.
3495
3496       Currently, byte rate policing is implemented  on  Linux  and  OVS  with
3497       DPDK,  while  packet  rate  policing is only implemented on Linux. Both
3498       Linux and OVS DPDK implementations use a simple  ``token  bucket’’  ap‐
3499       proach.
3500
3501       Byte rate policing:
3502
3503              •      The  size  of  the  bucket  corresponds to ingress_polic‐
3504                     ing_burst. Initially the bucket is full.
3505
3506              •      Whenever a packet is received, its size (converted to to‐
3507                     kens)  is  compared  to the number of tokens currently in
3508                     the bucket. If the required number of tokens  are  avail‐
3509                     able,  they are removed and the packet is forwarded. Oth‐
3510                     erwise, the packet is dropped.
3511
3512              •      Whenever it is not full, the bucket is refilled with  to‐
3513                     kens at the rate specified by ingress_policing_rate.
3514
3515       Packet rate policing:
3516
3517              •      The  size  of  the  bucket  corresponds to ingress_polic‐
3518                     ing_kpkts_burst. Initially the bucket is full.
3519
3520              •      Whenever a packet is received, it will consume one  token
3521                     from the current bucket. If the token is available in the
3522                     bucket, it’s removed and the packet is forwarded.  Other‐
3523                     wise, the packet is dropped.
3524
3525              •      Whenever  it is not full, the bucket is refilled with to‐
3526                     kens  at  the  rate  specified  by   ingress_policing_kp‐
3527                     kts_rate.
3528
3529       Policing  interacts  badly  with some network protocols, and especially
3530       with fragmented IP packets. Suppose that there is enough network activ‐
3531       ity  to  keep  the  bucket  nearly  empty all the time. Then this token
3532       bucket algorithm will forward a single packet every so often, with  the
3533       period  depending on packet size and on the configured rate. All of the
3534       fragments of an IP packets are normally transmitted back-to-back, as  a
3535       group. In such a situation, therefore, only one of these fragments will
3536       be forwarded and the rest will be dropped. IP does not provide any  way
3537       for  the intended recipient to ask for only the remaining fragments. In
3538       such a case there are two likely possibilities  for  what  will  happen
3539       next:  either all of the fragments will eventually be retransmitted (as
3540       TCP will do), in which case the same problem will recur, or the  sender
3541       will  not realize that its packet has been dropped and data will simply
3542       be lost (as some UDP-based protocols will do). Either way, it is possi‐
3543       ble that no forward progress will ever occur.
3544
3545       ingress_policing_rate: integer, at least 0
3546              Maximum  rate for data received on this interface, in kbps. Data
3547              received faster than this rate is dropped. Set  to  0  (the  de‐
3548              fault) to disable policing.
3549
3550       ingress_policing_kpkts_rate: integer, at least 0
3551              Maximum  rate  for  data  received on this interface, in kpps (1
3552              kpps is 1000 pps).  Data  received  faster  than  this  rate  is
3553              dropped. Set to 0 (the default) to disable policing.
3554
3555       ingress_policing_burst: integer, at least 0
3556              Maximum  burst  size for data received on this interface, in kb.
3557              The default burst size if set to 0 is 8000 kbit. This value  has
3558              no effect if ingress_policing_rate is 0.
3559
3560              Specifying  a  larger burst size lets the algorithm be more for‐
3561              giving, which is important for protocols like TCP that react se‐
3562              verely to dropped packets. The burst size should be at least the
3563              size of the interface’s MTU. Specifying a value that is  numeri‐
3564              cally  at  least  as large as 80% of ingress_policing_rate helps
3565              TCP come closer to achieving the full rate.
3566
3567       ingress_policing_kpkts_burst: integer, at least 0
3568              Maximum burst size for data received on this interface, in kpkts
3569              (1 kpkts is 1000 packets). The default burst size if set to 0 is
3570              16 kpkts. This  value  has  no  effect  if  ingress_policing_kp‐
3571              kts_rate is 0.
3572
3573              Specifying  a  larger burst size lets the algorithm be more for‐
3574              giving, which is important for protocols like TCP that react se‐
3575              verely  to  dropped  packets. Specifying a value that is numeri‐
3576              cally at least as large as  80%  of  ingress_policing_kpkts_rate
3577              helps TCP come closer to achieving the full rate.
3578
3579     Bidirectional Forwarding Detection (BFD):
3580
3581       BFD,  defined in RFC 5880 and RFC 5881, allows point-to-point detection
3582       of connectivity failures by occasional transmission of BFD control mes‐
3583       sages. Open vSwitch implements BFD to serve as a more popular and stan‐
3584       dards compliant alternative to CFM.
3585
3586       BFD operates by regularly transmitting BFD control messages at  a  rate
3587       negotiated independently in each direction. Each endpoint specifies the
3588       rate at which it expects to receive control messages, and the  rate  at
3589       which  it  is willing to transmit them. By default, Open vSwitch uses a
3590       detection multiplier of three, meaning that an endpoint signals a  con‐
3591       nectivity  fault  if three consecutive BFD control messages fail to ar‐
3592       rive. In the case of a unidirectional connectivity  issue,  the  system
3593       not  receiving  BFD control messages signals the problem to its peer in
3594       the messages it transmits.
3595
3596       The Open vSwitch implementation of BFD aims to comply  faithfully  with
3597       RFC 5880 requirements. Open vSwitch does not implement the optional Au‐
3598       thentication or ``Echo Mode’’ features.
3599
3600       OVS 2.13 and earlier intercepted and processed  all  BFD  packets.  OVS
3601       2.14  and  later  only  intercept and process BFD packets destined to a
3602       configured BFD instance, and other BFD packets are  made  available  to
3603       the OVS flow table for forwarding.
3604
3605     BFD Configuration:
3606
3607       A  controller  sets  up key-value pairs in the bfd column to enable and
3608       configure BFD.
3609
3610       bfd : enable: optional string, either true or false
3611              True to enable BFD on this Interface. If not specified, BFD will
3612              not be enabled by default.
3613
3614       bfd : min_rx: optional string, containing an integer, at least 1
3615              The  shortest  interval, in milliseconds, at which this BFD ses‐
3616              sion offers to receive BFD control messages. The remote endpoint
3617              may choose to send messages at a slower rate. Defaults to 1000.
3618
3619       bfd : min_tx: optional string, containing an integer, at least 1
3620              The  shortest  interval, in milliseconds, at which this BFD ses‐
3621              sion is willing to transmit BFD control messages. Messages  will
3622              actually  be transmitted at a slower rate if the remote endpoint
3623              is not willing to receive as quickly as specified.  Defaults  to
3624              100.
3625
3626       bfd : decay_min_rx: optional string, containing an integer
3627              An  alternate  receive  interval,  in milliseconds, that must be
3628              greater than or equal to bfd:min_rx. The implementation switches
3629              from bfd:min_rx to bfd:decay_min_rx when there is no obvious in‐
3630              coming data traffic at the interface,  to  reduce  the  CPU  and
3631              bandwidth cost of monitoring an idle interface. This feature may
3632              be disabled by setting a value of 0. This feature is reset when‐
3633              ever bfd:decay_min_rx or bfd:min_rx changes.
3634
3635       bfd : forwarding_if_rx: optional string, either true or false
3636              When true, traffic received on the Interface is used to indicate
3637              the capability of packet I/O.  BFD  control  packets  are  still
3638              transmitted  and  received. At least one BFD control packet must
3639              be received every 100 * bfd:min_rx amount  of  time.  Otherwise,
3640              even if traffic are received, the bfd:forwarding will be false.
3641
3642       bfd : cpath_down: optional string, either true or false
3643              Set  to  true  to notify the remote endpoint that traffic should
3644              not be forwarded to this system for some  reason  other  than  a
3645              connectivty  failure on the interface being monitored. The typi‐
3646              cal underlying reason is ``concatenated path  down,’’  that  is,
3647              that  connectivity  beyond the local system is down. Defaults to
3648              false.
3649
3650       bfd : check_tnl_key: optional string, either true or false
3651              Set to true to make BFD accept only control messages with a tun‐
3652              nel  key  of zero. By default, BFD accepts control messages with
3653              any tunnel key.
3654
3655       bfd : bfd_local_src_mac: optional string
3656              Set to an Ethernet address in the form xx:xx:xx:xx:xx:xx to  set
3657              the  MAC used as source for transmitted BFD packets. The default
3658              is the mac address of the BFD enabled interface.
3659
3660       bfd : bfd_local_dst_mac: optional string
3661              Set to an Ethernet address in the form xx:xx:xx:xx:xx:xx to  set
3662              the MAC used as destination for transmitted BFD packets. The de‐
3663              fault is 00:23:20:00:00:01.
3664
3665       bfd : bfd_remote_dst_mac: optional string
3666              Set to an Ethernet address in the form xx:xx:xx:xx:xx:xx to  set
3667              the  MAC used for checking the destination of received BFD pack‐
3668              ets. Packets with different destination MAC will not be  consid‐
3669              ered  as  BFD  packets. If not specified the destination MAC ad‐
3670              dress of received BFD packets are not checked.
3671
3672       bfd : bfd_src_ip: optional string
3673              Set to an IPv4 address to set the IP address used as source  for
3674              transmitted BFD packets. The default is 169.254.1.1.
3675
3676       bfd : bfd_dst_ip: optional string
3677              Set to an IPv4 address to set the IP address used as destination
3678              for transmitted BFD packets. The default is 169.254.1.0.
3679
3680       bfd : oam: optional string
3681              Some tunnel protocols (such as Geneve)  include  a  bit  in  the
3682              header to indicate that the encapsulated packet is an OAM frame.
3683              By setting this to true, BFD packets will be marked  as  OAM  if
3684              encapsulated in one of these tunnels.
3685
3686       bfd : mult: optional string, containing an integer, in range 1 to 255
3687              The  BFD  detection multiplier, which defaults to 3. An endpoint
3688              signals a connectivity fault if the given number of  consecutive
3689              BFD control messages fail to arrive.
3690
3691     BFD Status:
3692
3693       The  switch sets key-value pairs in the bfd_status column to report the
3694       status of BFD on this interface. When BFD is not enabled, with  bfd:en‐
3695       able, the switch clears all key-value pairs from bfd_status.
3696
3697       bfd_status  : state: optional string, one of admin_down, down, init, or
3698       up
3699              Reports the state of the BFD session. The BFD session  is  fully
3700              healthy and negotiated if UP.
3701
3702       bfd_status : forwarding: optional string, either true or false
3703              Reports  whether  the BFD session believes this Interface may be
3704              used to forward traffic. Typically this means the local  session
3705              is signaling UP, and the remote system isn’t signaling a problem
3706              such as concatenated path down.
3707
3708       bfd_status : diagnostic: optional string
3709              A diagnostic code specifying the local system’s reason  for  the
3710              last  change in session state. The error messages are defined in
3711              section 4.1 of [RFC 5880].
3712
3713       bfd_status : remote_state: optional string, one  of  admin_down,  down,
3714       init, or up
3715              Reports the state of the remote endpoint’s BFD session.
3716
3717       bfd_status : remote_diagnostic: optional string
3718              A  diagnostic code specifying the remote system’s reason for the
3719              last change in session state. The error messages are defined  in
3720              section 4.1 of [RFC 5880].
3721
3722       bfd_status  :  flap_count:  optional  string, containing an integer, at
3723       least 0
3724              Counts the number of bfd_status:forwarding flaps since start.  A
3725              flap  is  considered  as  a  change of the bfd_status:forwarding
3726              value.
3727
3728     Connectivity Fault Management:
3729
3730       802.1ag Connectivity Fault Management (CFM) allows a group  of  Mainte‐
3731       nance Points (MPs) called a Maintenance Association (MA) to detect con‐
3732       nectivity problems with each other. MPs within a MA  should  have  com‐
3733       plete and exclusive interconnectivity. This is verified by occasionally
3734       broadcasting Continuity Check Messages (CCMs) at a configurable  trans‐
3735       mission interval.
3736
3737       According  to  the 802.1ag specification, each Maintenance Point should
3738       be configured out-of-band with a list of Remote Maintenance  Points  it
3739       should  have  connectivity to. Open vSwitch differs from the specifica‐
3740       tion in this area. It simply assumes the link is faulted if  no  Remote
3741       Maintenance  Points  are reachable, and considers it not faulted other‐
3742       wise.
3743
3744       When operating over tunnels which have no in_key, or an in_key of flow.
3745       CFM will only accept CCMs with a tunnel key of zero.
3746
3747       cfm_mpid: optional integer
3748              A  Maintenance Point ID (MPID) uniquely identifies each endpoint
3749              within a Maintenance Association. The MPID is used  to  identify
3750              this endpoint to other Maintenance Points in the MA. Each end of
3751              a link being monitored should have a  different  MPID.  Must  be
3752              configured to enable CFM on this Interface.
3753
3754              According to the 802.1ag specification, MPIDs can only range be‐
3755              tween  [1,  8191].  However,  extended  mode   (see   other_con‐
3756              fig:cfm_extended) supports eight byte MPIDs.
3757
3758       cfm_flap_count: optional integer
3759              Counts the number of cfm fault flapps since boot. A flap is con‐
3760              sidered to be a change of the cfm_fault value.
3761
3762       cfm_fault: optional boolean
3763              Indicates a connectivity fault triggered by an inability to  re‐
3764              ceive heartbeats from any remote endpoint. When a fault is trig‐
3765              gered on Interfaces participating in bonds, they  will  be  dis‐
3766              abled.
3767
3768              Faults  can  be  triggered for several reasons. Most importantly
3769              they are triggered when no CCMs are received for a period of 3.5
3770              times  the transmission interval. Faults are also triggered when
3771              any CCMs indicate that a Remote Maintenance Point is not receiv‐
3772              ing CCMs but able to send them. Finally, a fault is triggered if
3773              a CCM is received which indicates unexpected configuration.  No‐
3774              tably,  this case arises when a CCM is received which advertises
3775              the local MPID.
3776
3777       cfm_fault_status : recv: none
3778              Indicates a CFM fault was triggered due to a lack  of  CCMs  re‐
3779              ceived on the Interface.
3780
3781       cfm_fault_status : rdi: none
3782              Indicates  a  CFM  fault was triggered due to the reception of a
3783              CCM with the RDI bit flagged. Endpoints set the RDI bit in their
3784              CCMs when they are not receiving CCMs themselves. This typically
3785              indicates a unidirectional connectivity failure.
3786
3787       cfm_fault_status : maid: none
3788              Indicates a CFM fault was triggered due to the  reception  of  a
3789              CCM with a MAID other than the one Open vSwitch uses. CFM broad‐
3790              casts are tagged with an identification number  in  addition  to
3791              the  MPID  called the MAID. Open vSwitch only supports receiving
3792              CCM broadcasts tagged with the MAID it uses internally.
3793
3794       cfm_fault_status : loopback: none
3795              Indicates a CFM fault was triggered due to the  reception  of  a
3796              CCM  advertising the same MPID configured in the cfm_mpid column
3797              of this Interface. This may indicate a loop in the network.
3798
3799       cfm_fault_status : overflow: none
3800              Indicates a CFM fault was triggered because the CFM  module  re‐
3801              ceived  CCMs  from  more remote endpoints than it can keep track
3802              of.
3803
3804       cfm_fault_status : override: none
3805              Indicates a CFM fault was manually triggered by an administrator
3806              using an ovs-appctl command.
3807
3808       cfm_fault_status : interval: none
3809              Indicates  a  CFM  fault was triggered due to the reception of a
3810              CCM frame having an invalid interval.
3811
3812       cfm_remote_opstate: optional string, either down or up
3813              When in extended mode, indicates the operational  state  of  the
3814              remote  endpoint  as either up or down. See other_config:cfm_op‐
3815              state.
3816
3817       cfm_health: optional integer, in range 0 to 100
3818              Indicates the health of the interface as  a  percentage  of  CCM
3819              frames  received  over 21 other_config:cfm_intervals. The health
3820              of an interface is undefined if it is  communicating  with  more
3821              than  one cfm_remote_mpids. It reduces if healthy heartbeats are
3822              not received at the expected rate,  and  gradually  improves  as
3823              healthy  heartbeats  are  received at the desired rate. Every 21
3824              other_config:cfm_intervals, the health of the interface  is  re‐
3825              freshed.
3826
3827              As mentioned above, the faults can be triggered for several rea‐
3828              sons. The link health will deteriorate even  if  heartbeats  are
3829              received  but  they  are  reported to be unhealthy. An unhealthy
3830              heartbeat in this context is a heartbeat for which  either  some
3831              fault  is set or is out of sequence. The interface health can be
3832              100 only on receiving healthy heartbeats at the desired rate.
3833
3834       cfm_remote_mpids: set of integers
3835              When CFM is properly configured, Open vSwitch will  occasionally
3836              receive CCM broadcasts. These broadcasts contain the MPID of the
3837              sending Maintenance Point. The list of MPIDs from which this In‐
3838              terface  is receiving broadcasts from is regularly collected and
3839              written to this column.
3840
3841       other_config : cfm_interval: optional string, containing an integer
3842              The interval, in  milliseconds,  between  transmissions  of  CFM
3843              heartbeats. Three missed heartbeat receptions indicate a connec‐
3844              tivity fault.
3845
3846              In standard operation only  intervals  of  3,  10,  100,  1,000,
3847              10,000,  60,000,  or 600,000 ms are supported. Other values will
3848              be rounded down to the nearest value on the list. Extended  mode
3849              (see  other_config:cfm_extended)  supports  any  interval  up to
3850              65,535 ms. In either mode, the default is 1000 ms.
3851
3852              We do not recommend using intervals less than 100 ms.
3853
3854       other_config : cfm_extended: optional string, either true or false
3855              When true, the CFM module operates in extended mode. This causes
3856              it to use a nonstandard destination address to avoid conflicting
3857              with compliant implementations which may be running concurrently
3858              on  the  network. Furthermore, extended mode increases the accu‐
3859              racy of the cfm_interval  configuration  parameter  by  breaking
3860              wire  compatibility  with 802.1ag compliant implementations. And
3861              extended mode allows eight byte MPIDs. Defaults to false.
3862
3863       other_config : cfm_demand: optional string, either true or false
3864              When true, and other_config:cfm_extended is true, the CFM module
3865              operates  in  demand mode. When in demand mode, traffic received
3866              on the Interface is used to indicate liveness.  CCMs  are  still
3867              transmitted  and received. At least one CCM must be received ev‐
3868              ery 100 * other_config:cfm_interval amount of  time.  Otherwise,
3869              even if traffic are received, the CFM module will raise the con‐
3870              nectivity fault.
3871
3872              Demand mode has a couple of caveats:
3873
3874              •      To ensure that ovs-vswitchd has enough time to pull  sta‐
3875                     tistics  from  the datapath, the fault detection interval
3876                     is set to 3.5 * MAX(other_config:cfm_interval, 500) ms.
3877
3878              •      To avoid ambiguity,  demand  mode  disables  itself  when
3879                     there are multiple remote maintenance points.
3880
3881              •      If  the  Interface  is heavily congested, CCMs containing
3882                     the other_config:cfm_opstate status may be dropped  caus‐
3883                     ing changes in the operational state to be delayed. Simi‐
3884                     larly, if CCMs containing the RDI bit are  not  received,
3885                     unidirectional link failures may not be detected.
3886
3887       other_config : cfm_opstate: optional string, either down or up
3888              When  down, the CFM module marks all CCMs it generates as opera‐
3889              tionally down without triggering a  fault.  This  allows  remote
3890              maintenance  points  to choose not to forward traffic to the In‐
3891              terface on which this CFM module is running. Currently, in  Open
3892              vSwitch, the opdown bit of CCMs affects Interfaces participating
3893              in bonds, and the bundle OpenFlow action. This  setting  is  ig‐
3894              nored when CFM is not in extended mode. Defaults to up.
3895
3896       other_config : cfm_ccm_vlan: optional string, containing an integer, in
3897       range 1 to 4,095
3898              When set, the CFM module will apply a VLAN tag to  all  CCMs  it
3899              generates  with  the  given  value.  May be the string random in
3900              which case each CCM will be tagged  with  a  different  randomly
3901              generated VLAN.
3902
3903       other_config  : cfm_ccm_pcp: optional string, containing an integer, in
3904       range 1 to 7
3905              When set, the CFM module will apply a VLAN tag to  all  CCMs  it
3906              generates  with  the  given PCP value, the VLAN ID of the tag is
3907              governed  by  the   value   of   other_config:cfm_ccm_vlan.   If
3908              other_config:cfm_ccm_vlan is unset, a VLAN ID of zero is used.
3909
3910     Bonding Configuration:
3911
3912       other_config : lacp-port-id: optional string, containing an integer, in
3913       range 1 to 65,535
3914              The LACP port ID of this Interface. Port IDs are  used  in  LACP
3915              negotiations  to  identify  individual  ports participating in a
3916              bond.
3917
3918       other_config : lacp-port-priority: optional string, containing an inte‐
3919       ger, in range 1 to 65,535
3920              The  LACP  port priority of this Interface. In LACP negotiations
3921              Interfaces with numerically lower priorities are  preferred  for
3922              aggregation.
3923
3924       other_config : lacp-aggregation-key: optional string, containing an in‐
3925       teger, in range 1 to 65,535
3926              The LACP aggregation key of this Interface. Interfaces with dif‐
3927              ferent aggregation keys may not be active within a given Port at
3928              the same time.
3929
3930     Virtual Machine Identifiers:
3931
3932       These key-value pairs specifically apply to an  interface  that  repre‐
3933       sents  a  virtual  Ethernet  interface  connected to a virtual machine.
3934       These key-value pairs should not be present for other types  of  inter‐
3935       faces. Keys whose names end in -uuid have values that uniquely identify
3936       the entity in question.
3937
3938       external_ids : attached-mac: optional string
3939              The MAC address programmed into  the  ``virtual  hardware’’  for
3940              this interface, in the form xx:xx:xx:xx:xx:xx.
3941
3942       external_ids : iface-id: optional string
3943              A system-unique identifier for the interface.
3944
3945       external_ids : iface-status: optional string, either active or inactive
3946              Hypervisors  may  sometimes have more than one interface associ‐
3947              ated with a given external_ids:iface-id, only one  of  which  is
3948              actually  in  use  at a given time. For example, in some circum‐
3949              stances hypervisor may have both a ``tap’’ and a ``vif’’  inter‐
3950              face  for  a  single external_ids:iface-id, but only uses one of
3951              them at a time. A hypervisor that behaves this way must mark the
3952              currently in use interface active and the others inactive. A hy‐
3953              pervisor that never has more than one interface for a given  ex‐
3954              ternal_ids:iface-id  may  mark that interface active or omit ex‐
3955              ternal_ids:iface-status entirely.
3956
3957              During VM migration, a given external_ids:iface-id  might  tran‐
3958              siently  be marked active on two different hypervisors. That is,
3959              active means that this external_ids:iface-id is the  active  in‐
3960              stance within a single hypervisor, not in a broader scope. There
3961              is one exception: some hypervisors support ``migration’’ from  a
3962              given  hypervisor to itself (most often for test purposes). Dur‐
3963              ing such a ``migration,’’  two  instances  of  a  single  exter‐
3964              nal_ids:iface-id might both be briefly marked active on a single
3965              hypervisor.
3966
3967       external_ids : vm-id: optional string
3968              The VM to which this interface belongs.
3969
3970     Auto Attach Configuration:
3971
3972       Auto Attach configuration for a particular interface.
3973
3974       lldp : enable: optional string, either true or false
3975              True to enable LLDP on this Interface. If  not  specified,  LLDP
3976              will be disabled by default.
3977
3978     Flow control Configuration:
3979
3980       Ethernet flow control defined in IEEE 802.1Qbb provides link level flow
3981       control using MAC pause frames. Implemented only  for  interfaces  with
3982       type dpdk.
3983
3984       options : rx-flow-ctrl: optional string, either true or false
3985              Set  to true to enable Rx flow control on physical ports. By de‐
3986              fault, Rx flow control is disabled.
3987
3988       options : tx-flow-ctrl: optional string, either true or false
3989              Set to true to enable Tx flow control on physical ports. By  de‐
3990              fault, Tx flow control is disabled.
3991
3992       options : flow-ctrl-autoneg: optional string, either true or false
3993              Set  to true to enable flow control auto negotiation on physical
3994              ports. By default, auto-neg is disabled.
3995
3996     Link State Change detection mode:
3997
3998       options : dpdk-lsc-interrupt: optional string, either true or false
3999              Set this value to true to  configure  interrupt  mode  for  Link
4000              State  Change  (LSC) detection instead of poll mode for the DPDK
4001              interface.
4002
4003              If this value is not set, poll mode is configured.
4004
4005              This parameter has an effect only on netdev dpdk interfaces.
4006
4007     Common Columns:
4008
4009       The overall purpose of these columns is described under Common  Columns
4010       at the beginning of this document.
4011
4012       other_config: map of string-string pairs
4013
4014       external_ids: map of string-string pairs
4015

Flow_Table TABLE

4017       Configuration for a particular OpenFlow table.
4018
4019   Summary:
4020       name                          optional string
4021       Eviction Policy:
4022         flow_limit                  optional integer, at least 0
4023         overflow_policy             optional string, either evict or refuse
4024         groups                      set of strings
4025       Classifier Optimization:
4026         prefixes                    set of up to 3 strings
4027       Common Columns:
4028         external_ids                map of string-string pairs
4029
4030   Details:
4031       name: optional string
4032              The  table’s  name. Set this column to change the name that con‐
4033              trollers will receive when they request table  statistics,  e.g.
4034              ovs-ofctl dump-tables. The name does not affect switch behavior.
4035
4036     Eviction Policy:
4037
4038       Open  vSwitch  supports  limiting  the  number of flows that may be in‐
4039       stalled in a flow table, via the flow_limit column. When adding a  flow
4040       would  exceed this limit, by default Open vSwitch reports an error, but
4041       there are  two  ways  to  configure  Open  vSwitch  to  instead  delete
4042       (``evict’’) a flow to make room for the new one:
4043
4044              •      Set the overflow_policy column to evict.
4045
4046              •      Send  an  OpenFlow  1.4+  ``table mod request’’ to enable
4047                     eviction for the flow table (e.g. ovs-ofctl -O OpenFlow14
4048                     mod-table  br0 0 evict to enable eviction on flow table 0
4049                     of bridge br0).
4050
4051       When a flow must be evicted due to overflow, the flow to evict is  cho‐
4052       sen through an approximation of the following algorithm. This algorithm
4053       is used regardless of how eviction was enabled:
4054
4055              1.  Divide the flows in the table into groups based on the  val‐
4056                  ues  of the fields or subfields specified in the groups col‐
4057                  umn, so that all of the flows in a given group have the same
4058                  values  for those fields. If a flow does not specify a given
4059                  field, that field’s value is treated  as  0.  If  groups  is
4060                  empty,  then  all of the flows in the flow table are treated
4061                  as a single group.
4062
4063              2.  Consider the flows in the largest group, that is, the  group
4064                  that  contains  the greatest number of flows. If two or more
4065                  groups all have the same largest number of  flows,  consider
4066                  the flows in all of those groups.
4067
4068              3.  If  the  flows under consideration have different importance
4069                  values, eliminate from consideration any flows except  those
4070                  with  the lowest importance. (``Importance,’’ a 16-bit inte‐
4071                  ger value attached to each flow, was introduced in  OpenFlow
4072                  1.4.  Flows  inserted with older versions of OpenFlow always
4073                  have an importance of 0.)
4074
4075              4.  Among the flows under consideration, choose  the  flow  that
4076                  expires soonest for eviction.
4077
4078       The  eviction process only considers flows that have an idle timeout or
4079       a hard timeout. That is, eviction never deletes permanent flows.  (Per‐
4080       manent flows do count against flow_limit.)
4081
4082       flow_limit: optional integer, at least 0
4083              If  set, limits the number of flows that may be added to the ta‐
4084              ble. Open vSwitch may limit the number of flows in a  table  for
4085              other  reasons, e.g. due to hardware limitations or for resource
4086              availability or performance reasons.
4087
4088       overflow_policy: optional string, either evict or refuse
4089              Controls the switch’s behavior when an OpenFlow flow table modi‐
4090              fication  request  would  add flows in excess of flow_limit. The
4091              supported values are:
4092
4093              refuse Refuse to add the flow or flows. This is also the default
4094                     policy when overflow_policy is unset.
4095
4096              evict  Delete a flow chosen according to the algorithm described
4097                     above.
4098
4099       groups: set of strings
4100              When overflow_policy is evict, this controls how flows are  cho‐
4101              sen  for  eviction  when  the  flow table would otherwise exceed
4102              flow_limit flows. Its value is a  set  of  NXM  fields  or  sub-
4103              fields,  each  of  which  takes  one  of  the  forms  field[] or
4104              field[start..end], e.g. NXM_OF_IN_PORT[]. Please see meta-flow.h
4105              for a complete list of NXM field names.
4106
4107              Open  vSwitch  ignores  any  invalid or unknown field specifica‐
4108              tions.
4109
4110              When eviction is not enabled, via overflow_policy or an OpenFlow
4111              1.4+ ``table mod,’’ this column has no effect.
4112
4113     Classifier Optimization:
4114
4115       prefixes: set of up to 3 strings
4116              This  string  set  specifies which fields should be used for ad‐
4117              dress prefix tracking. Prefix tracking allows the classifier  to
4118              skip  rules  with  longer  than necessary prefixes, resulting in
4119              better wildcarding for datapath flows.
4120
4121              Prefix tracking may be beneficial when  a  flow  table  contains
4122              matches  on IP address fields with different prefix lengths. For
4123              example, when a flow table contains IP address matches  on  both
4124              full  addresses  and  proper  prefixes, the full address matches
4125              will typically cause the datapath flow to un-wildcard the  whole
4126              address field (depending on flow entry priorities). In this case
4127              each  packet  with  a  different  address  gets  handed  to  the
4128              userspace  for  flow  processing  and generates its own datapath
4129              flow. With prefix tracking enabled  for  the  address  field  in
4130              question  packets with addresses matching shorter prefixes would
4131              generate datapath flows where the irrelevant  address  bits  are
4132              wildcarded,  allowing  the  same datapath flow to handle all the
4133              packets within  the  prefix  in  question.  In  this  case  many
4134              userspace upcalls can be avoided and the overall performance can
4135              be better.
4136
4137              This is a performance optimization only, so packets will receive
4138              the same treatment with or without prefix tracking.
4139
4140              The    supported   fields   are:   tun_id,   tun_src,   tun_dst,
4141              tun_ipv6_src, tun_ipv6_dst, nw_src, nw_dst  (or  aliases  ip_src
4142              and  ip_dst),  ipv6_src,  and  ipv6_dst. (Using this feature for
4143              tun_id would only make sense  if  the  tunnel  IDs  have  prefix
4144              structure similar to IP addresses.)
4145
4146              By default, the prefixes=ip_dst,ip_src are used on each flow ta‐
4147              ble. This instructs the flow classifier to track the IP destina‐
4148              tion  and  source  addresses  used by the rules in this specific
4149              flow table.
4150
4151              The keyword none is recognized as an explicit  override  of  the
4152              default values, causing no prefix fields to be tracked.
4153
4154              To set the prefix fields, the flow table record needs to exist:
4155
4156              ovs-vsctl  set  Bridge  br0 flow_tables:0=@N1 -- --id=@N1 create
4157              Flow_Table name=table0
4158                     Creates a flow table record for the OpenFlow table number
4159                     0.
4160
4161              ovs-vsctl set Flow_Table table0 prefixes=ip_dst,ip_src
4162                     Enables prefix tracking for IP source and destination ad‐
4163                     dress fields.
4164
4165              There is a maximum number of fields that can be enabled for  any
4166              one flow table. Currently this limit is 3.
4167
4168     Common Columns:
4169
4170       The  overall purpose of these columns is described under Common Columns
4171       at the beginning of this document.
4172
4173       external_ids: map of string-string pairs
4174

QoS TABLE

4176       Quality of Service (QoS) configuration for each  Port  that  references
4177       it.
4178
4179   Summary:
4180       type                          string
4181       queues                        map  of integer-Queue pairs, key in range
4182                                     0 to 4,294,967,295
4183       Configuration for linux-htb and linux-hfsc:
4184         other_config : max-rate     optional string, containing an integer
4185       Configuration for egress-policer QoS:
4186         other_config : cir          optional string, containing an integer
4187         other_config : cbs          optional string, containing an integer
4188         other_config : eir          optional string, containing an integer
4189         other_config : ebs          optional string, containing an integer
4190       Configuration for linux-sfq:
4191         other_config : perturb      optional string, containing an integer
4192         other_config : quantum      optional string, containing an integer
4193       Configuration for linux-netem:
4194         other_config : latency      optional string, containing an integer
4195         other_config : limit        optional string, containing an integer
4196         other_config : loss         optional string, containing an integer
4197         other_config : jitter       optional string, containing an integer
4198       Common Columns:
4199         other_config                map of string-string pairs
4200         external_ids                map of string-string pairs
4201
4202   Details:
4203       type: string
4204              The type of QoS to implement. The currently  defined  types  are
4205              listed below:
4206
4207              linux-htb
4208                     Linux  ``hierarchy  token  bucket’’  classifier.  See tc-
4209                     htb(8) (also  at  http://linux.die.net/man/8/tc-htb)  and
4210                     the  HTB  manual (http://luxik.cdi.cz/~devik/qos/htb/man‐
4211                     ual/userg.htm) for information  on  how  this  classifier
4212                     works and how to configure it.
4213
4214              linux-hfsc
4215                     Linux  "Hierarchical  Fair Service Curve" classifier. See
4216                     http://linux-ip.net/articles/hfsc.en/ for information  on
4217                     how this classifier works.
4218
4219              linux-sfq
4220                     Linux  ``Stochastic  Fairness  Queueing’’ classifier. See
4221                     tc-sfq(8) (also at http://linux.die.net/man/8/tc-sfq) for
4222                     information on how this classifier works.
4223
4224              linux-codel
4225                     Linux  ``Controlled  Delay’’  classifier. See tc-codel(8)
4226                     (also                                                  at
4227                     http://man7.org/linux/man-pages/man8/tc-codel.8.html) for
4228                     information on how this classifier works.
4229
4230              linux-fq_codel
4231                     Linux ``Fair Queuing with Controlled Delay’’  classifier.
4232                     See           tc-fq_codel(8)           (also           at
4233                     http://man7.org/linux/man-pages/man8/tc-fq_codel.8.html)
4234                     for information on how this classifier works.
4235
4236              linux-netem
4237                     Linux  ``Network  Emulator’’  classifier. See tc-netem(8)
4238                     (also                                                  at
4239                     http://man7.org/linux/man-pages/man8/tc-netem.8.html) for
4240                     information on how this classifier works.
4241
4242              linux-noop
4243                     Linux ``No operation.’’ By default, Open vSwitch  manages
4244                     quality  of  service on all of its configured ports. This
4245                     can be helpful, but sometimes  administrators  prefer  to
4246                     use other software to manage QoS. This type prevents Open
4247                     vSwitch from changing the QoS configuration for a port.
4248
4249              egress-policer
4250                     A DPDK egress policer algorithm using the DPDK  rte_meter
4251                     library. The rte_meter library provides an implementation
4252                     which allows the metering and policing  of  traffic.  The
4253                     implementation  in OVS essentially creates a single token
4254                     bucket used to police traffic. It should  be  noted  that
4255                     when  the  rte_meter  is  configured as part of QoS there
4256                     will be a performance overhead as  the  rte_meter  itself
4257                     will consume CPU cycles in order to police traffic. These
4258                     CPU cycles ordinarily are used for packet proccessing. As
4259                     such  the drop in performance will be noticed in terms of
4260                     overall aggregate traffic throughput.
4261
4262              trtcm-policer
4263                     A DPDK egress policer algorithm  using  RFC  4115’s  Two-
4264                     Rate,  Three-Color  marker. It’s a two-level hierarchical
4265                     policer which first does a  color-blind  marking  of  the
4266                     traffic  at  the  queue  level, followed by a color-aware
4267                     marking at the port level. At the end traffic  marked  as
4268                     Green or Yellow is forwarded, Red is dropped. For details
4269                     on how traffic is marked, see RFC 4115. If the  ``default
4270                     queue’’,  0, is not configured it’s automatically created
4271                     with the same other_config values as the physical port.
4272
4273       queues: map of integer-Queue pairs, key in range 0 to 4,294,967,295
4274              A map from queue numbers to Queue records. The  supported  range
4275              of  queue numbers depend on type. The queue numbers are the same
4276              as the queue_id used in OpenFlow  in  struct  ofp_action_enqueue
4277              and other structures.
4278
4279              Queue  0 is the ``default queue.’’ It is used by OpenFlow output
4280              actions when no specific queue has been set. When no  configura‐
4281              tion  for  queue 0 is present, it is automatically configured as
4282              if a Queue record with empty dscp and other_config  columns  had
4283              been  specified.  (Before  version 1.6, Open vSwitch would leave
4284              queue 0 unconfigured in this  case.  With  some  queuing  disci‐
4285              plines,  this  dropped  all  packets  destined  for  the default
4286              queue.)
4287
4288     Configuration for linux-htb and linux-hfsc:
4289
4290       The linux-htb and linux-hfsc classes support  the  following  key-value
4291       pair:
4292
4293       other_config : max-rate: optional string, containing an integer
4294              Maximum  rate  shared by all queued traffic, in bit/s. Optional.
4295              If not specified, for physical interfaces, the  default  is  the
4296              link  rate.  For  other interfaces or if the link rate cannot be
4297              determined, the default is currently 10 Gbps.
4298
4299     Configuration for egress-policer QoS:
4300
4301       QoS type egress-policer provides egress  policing  for  userspace  port
4302       types with DPDK. It has the following key-value pairs defined.
4303
4304       other_config : cir: optional string, containing an integer
4305              The  Committed Information Rate (CIR) is measured in bytes of IP
4306              packets per second, i.e. it includes the IP header, but not link
4307              specific  (e.g. Ethernet) headers. This represents the bytes per
4308              second rate at which the token bucket will be updated.  The  cir
4309              value is calculated by (pps x packet data size). For example as‐
4310              suming a user wishes to limit a stream  consisting  of  64  byte
4311              packets  to 1 million packets per second the CIR would be set to
4312              to to 46000000. This value can be broken into ’1,000,000 x  46’.
4313              Where  1,000,000  is the policing rate for the number of packets
4314              per second and 46 represents the size of the packet data  for  a
4315              64  bytes  IP  packet  without 14 bytes Ethernet and 4 bytes FCS
4316              header.
4317
4318       other_config : cbs: optional string, containing an integer
4319              The Committed Burst Size (CBS) is measured in bytes  and  repre‐
4320              sents  a  token bucket. At a minimum this value should be be set
4321              to the expected largest size packet in the  traffic  stream.  In
4322              practice  larger  values may be used to increase the size of the
4323              token bucket. If a packet can be transmitted then the  cbs  will
4324              be  decremented  by the number of bytes/tokens of the packet. If
4325              there are not enough tokens in the cbs bucket the packet will be
4326              dropped.
4327
4328       other_config : eir: optional string, containing an integer
4329              The  Excess  Information  Rate  (EIR) is measured in bytes of IP
4330              packets per second, i.e. it includes the IP header, but not link
4331              specific  (e.g. Ethernet) headers. This represents the bytes per
4332              second rate at which the token bucket will be updated.  The  eir
4333              value is calculated by (pps x packet data size). For example as‐
4334              suming a user wishes to limit a stream  consisting  of  64  byte
4335              packets  to 1 million packets per second the EIR would be set to
4336              to to 46000000. This value can be broken into ’1,000,000 x  46’.
4337              Where  1,000,000  is the policing rate for the number of packets
4338              per second and 46 represents the size of the packet data  for  a
4339              64  bytes  IP  packet  without 14 bytes Ethernet and 4 bytes FCS
4340              header.
4341
4342       other_config : ebs: optional string, containing an integer
4343              The Excess Burst Size (EBS) is measured in bytes and  represents
4344              a  token bucket. At a minimum this value should be be set to the
4345              expected largest size packet in the traffic stream. In  practice
4346              larger  values  may  be  used  to increase the size of the token
4347              bucket. If a packet can be transmitted  then  the  ebs  will  be
4348              decremented  by  the  number  of  bytes/tokens of the packet. If
4349              there are not enough tokens in the cbs bucket the  packet  might
4350              be dropped.
4351
4352     Configuration for linux-sfq:
4353
4354       The linux-sfq QoS supports the following key-value pairs:
4355
4356       other_config : perturb: optional string, containing an integer
4357              Number  of  seconds between consecutive perturbations in hashing
4358              algorithm. Different flows can end up in the  same  hash  bucket
4359              causing  unfairness.  Perturbation’s  goal is to remove possible
4360              unfairness. The default and recommended value is 10. Too  low  a
4361              value  is discouraged because each perturbation can cause packet
4362              reordering.
4363
4364       other_config : quantum: optional string, containing an integer
4365              Number of bytes linux-sfq QoS can dequeue in one turn in  round-
4366              robin  from one flow. The default and recommended value is equal
4367              to interface’s MTU.
4368
4369     Configuration for linux-netem:
4370
4371       The linux-netem QoS supports the following key-value pairs:
4372
4373       other_config : latency: optional string, containing an integer
4374              Adds the chosen delay to the packets outgoing to chosen  network
4375              interface. The latency value expressed in us.
4376
4377       other_config : limit: optional string, containing an integer
4378              Maximum  number  of packets the qdisc may hold queued at a time.
4379              The default value is 1000.
4380
4381       other_config : loss: optional string, containing an integer
4382              Adds an independent loss probability  to  the  packets  outgoing
4383              from the chosen network interface.
4384
4385       other_config : jitter: optional string, containing an integer
4386              Adds  the  provided jitter to the latency outgoing to the chosen
4387              network interface. The jitter value expressed in us.
4388
4389     Common Columns:
4390
4391       The overall purpose of these columns is described under Common  Columns
4392       at the beginning of this document.
4393
4394       other_config: map of string-string pairs
4395
4396       external_ids: map of string-string pairs
4397

Queue TABLE

4399       A configuration for a port output queue, used in configuring Quality of
4400       Service (QoS) features. May be referenced by queues column in  QoS  ta‐
4401       ble.
4402
4403   Summary:
4404       dscp                          optional integer, in range 0 to 63
4405       Configuration for linux-htb QoS:
4406         other_config : min-rate     optional  string,  containing an integer,
4407                                     at least 1
4408         other_config : max-rate     optional string, containing  an  integer,
4409                                     at least 1
4410         other_config : burst        optional  string,  containing an integer,
4411                                     at least 1
4412         other_config : priority     optional string, containing  an  integer,
4413                                     in range 0 to 4,294,967,295
4414       Configuration for linux-hfsc QoS:
4415         other_config : min-rate     optional  string,  containing an integer,
4416                                     at least 1
4417         other_config : max-rate     optional string, containing  an  integer,
4418                                     at least 1
4419       Common Columns:
4420         other_config                map of string-string pairs
4421         external_ids                map of string-string pairs
4422
4423   Details:
4424       dscp: optional integer, in range 0 to 63
4425              If  set, Open vSwitch will mark all traffic egressing this Queue
4426              with the given DSCP bits. Traffic egressing the default Queue is
4427              only  marked  if  it was explicitly selected as the Queue at the
4428              time the packet was output. If unset, the DSCP bits  of  traffic
4429              egressing this Queue will remain unchanged.
4430
4431     Configuration for linux-htb QoS:
4432
4433       QoS  type  linux-htb may use queue_ids less than 61440. It has the fol‐
4434       lowing key-value pairs defined.
4435
4436       other_config : min-rate: optional string,  containing  an  integer,  at
4437       least 1
4438              Minimum guaranteed bandwidth, in bit/s.
4439
4440       other_config  :  max-rate:  optional  string, containing an integer, at
4441       least 1
4442              Maximum allowed bandwidth, in bit/s. Optional. If specified, the
4443              queue’s  rate will not be allowed to exceed the specified value,
4444              even if excess bandwidth is available. If unspecified,  defaults
4445              to no limit.
4446
4447       other_config  : burst: optional string, containing an integer, at least
4448       1
4449              Burst size, in bits. This is the maximum amount  of  ``credits’’
4450              that  a queue can accumulate while it is idle. Optional. Details
4451              of the linux-htb implementation require a minimum burst size, so
4452              a too-small burst will be silently ignored.
4453
4454       other_config  :  priority:  optional  string, containing an integer, in
4455       range 0 to 4,294,967,295
4456              A queue with a smaller priority  will  receive  all  the  excess
4457              bandwidth that it can use before a queue with a larger value re‐
4458              ceives any. Specific priority values are unimportant; only rela‐
4459              tive ordering matters. Defaults to 0 if unspecified.
4460
4461     Configuration for linux-hfsc QoS:
4462
4463       QoS  type linux-hfsc may use queue_ids less than 61440. It has the fol‐
4464       lowing key-value pairs defined.
4465
4466       other_config : min-rate: optional string,  containing  an  integer,  at
4467       least 1
4468              Minimum guaranteed bandwidth, in bit/s.
4469
4470       other_config  :  max-rate:  optional  string, containing an integer, at
4471       least 1
4472              Maximum allowed bandwidth, in bit/s. Optional. If specified, the
4473              queue’s  rate will not be allowed to exceed the specified value,
4474              even if excess bandwidth is available. If unspecified,  defaults
4475              to no limit.
4476
4477     Common Columns:
4478
4479       The  overall purpose of these columns is described under Common Columns
4480       at the beginning of this document.
4481
4482       other_config: map of string-string pairs
4483
4484       external_ids: map of string-string pairs
4485

Mirror TABLE

4487       A port mirror within a Bridge.
4488
4489       A port mirror configures a bridge to send selected  frames  to  special
4490       ``mirrored’’ ports, in addition to their normal destinations. Mirroring
4491       traffic may also be referred to as SPAN or RSPAN, depending on how  the
4492       mirrored traffic is sent.
4493
4494       When  a  packet  enters an Open vSwitch bridge, it becomes eligible for
4495       mirroring based on its ingress port and VLAN.  As  the  packet  travels
4496       through  the  flow tables, each time it is output to a port, it becomes
4497       eligible for mirroring based on the  egress  port  and  VLAN.  In  Open
4498       vSwitch  2.5  and later, mirroring occurs just after a packet first be‐
4499       comes eligible, using the packet as it exists at that  point;  in  Open
4500       vSwitch  2.4 and earlier, mirroring occurs only after a packet has tra‐
4501       versed all the flow tables, using the original packet as it entered the
4502       bridge.  This  makes a difference only when the flow table modifies the
4503       packet: in Open vSwitch 2.4, the modifications  are  never  visible  to
4504       mirrors,  whereas  in Open vSwitch 2.5 and later modifications made be‐
4505       fore the first output that makes it eligible for mirroring to a partic‐
4506       ular destination are visible.
4507
4508       A packet that enters an Open vSwitch bridge is mirrored to a particular
4509       destination only once, even if it is eligible for multiple reasons. For
4510       example,  a  packet  would be mirrored to a particular output_port only
4511       once, even if it  is  selected  for  mirroring  to  that  port  by  se‐
4512       lect_dst_port  and  select_src_port  in  the  same  or different Mirror
4513       records.
4514
4515   Summary:
4516       name                          string
4517       Selecting Packets for Mirroring:
4518         select_all                  boolean
4519         select_dst_port             set of weak reference to Ports
4520         select_src_port             set of weak reference to Ports
4521         select_vlan                 set of up to 4,096 integers, in  range  0
4522                                     to 4,095
4523       Mirroring Destination Configuration:
4524         output_port                 optional weak reference to Port
4525         output_vlan                 optional integer, in range 1 to 4,095
4526         snaplen                     optional integer, in range 14 to 65,535
4527       Statistics: Mirror counters:
4528         statistics : tx_packets     optional integer
4529         statistics : tx_bytes       optional integer
4530       Common Columns:
4531         external_ids                map of string-string pairs
4532
4533   Details:
4534       name: string
4535              Arbitrary identifier for the Mirror.
4536
4537     Selecting Packets for Mirroring:
4538
4539       To  be  selected  for mirroring, a given packet must enter or leave the
4540       bridge through a selected port and it must also be in one  of  the  se‐
4541       lected VLANs.
4542
4543       select_all: boolean
4544              If  true,  every packet arriving or departing on any port is se‐
4545              lected for mirroring.
4546
4547       select_dst_port: set of weak reference to Ports
4548              Ports on which departing packets are selected for mirroring.
4549
4550       select_src_port: set of weak reference to Ports
4551              Ports on which arriving packets are selected for mirroring.
4552
4553       select_vlan: set of up to 4,096 integers, in range 0 to 4,095
4554              VLANs on which packets are selected for mirroring. An empty  set
4555              selects packets on all VLANs.
4556
4557     Mirroring Destination Configuration:
4558
4559       These  columns  are  mutually  exclusive.  Exactly  one of them must be
4560       nonempty.
4561
4562       output_port: optional weak reference to Port
4563              Output port for selected packets, if nonempty.
4564
4565              Specifying a port for mirror output reserves  that  port  exclu‐
4566              sively  for  mirroring.  No frames other than those selected for
4567              mirroring via this column will be forwarded to the port, and any
4568              frames received on the port will be discarded.
4569
4570              The  output  port  may  be  any  kind  of port supported by Open
4571              vSwitch. It may be, for  example,  a  physical  port  (sometimes
4572              called SPAN) or a GRE tunnel.
4573
4574       output_vlan: optional integer, in range 1 to 4,095
4575              Output VLAN for selected packets, if nonempty.
4576
4577              The frames will be sent out all ports that trunk output_vlan, as
4578              well as any ports with implicit VLAN output_vlan.  When  a  mir‐
4579              rored  frame is sent out a trunk port, the frame’s VLAN tag will
4580              be set to output_vlan, replacing any existing tag;  when  it  is
4581              sent  out  an  implicit VLAN port, the frame will not be tagged.
4582              This type of mirroring is sometimes called RSPAN.
4583
4584              See the documentation for other_config:forward-bpdu in  the  In‐
4585              terface table for a list of destination MAC addresses which will
4586              not be mirrored to a VLAN to avoid confusing switches  that  in‐
4587              terpret the protocols that they represent.
4588
4589              Please note: Mirroring to a VLAN can disrupt a network that con‐
4590              tains unmanaged switches. Consider an unmanaged physical  switch
4591              with  two  ports:  port 1, connected to an end host, and port 2,
4592              connected to an Open vSwitch configured to mirror received pack‐
4593              ets  into  VLAN 123 on port 2. Suppose that the end host sends a
4594              packet on port 1 that the physical switch forwards  to  port  2.
4595              The  Open  vSwitch  forwards  this packet to its destination and
4596              then reflects it back on port 2  in  VLAN  123.  This  reflected
4597              packet  causes  the unmanaged physical switch to replace the MAC
4598              learning table entry, which correctly pointed to  port  1,  with
4599              one  that  incorrectly points to port 2. Afterward, the physical
4600              switch will direct packets destined for the end host to the Open
4601              vSwitch  on  port  2, instead of to the end host on port 1, dis‐
4602              rupting connectivity. If mirroring to a VLAN is desired in  this
4603              scenario,  then the physical switch must be replaced by one that
4604              learns Ethernet addresses on  a  per-VLAN  basis.  In  addition,
4605              learning  should  be  disabled  on  the VLAN containing mirrored
4606              traffic. If this is not done  then  intermediate  switches  will
4607              learn  the  MAC address of each end host from the mirrored traf‐
4608              fic. If packets being sent to that end host are  also  mirrored,
4609              then  they will be dropped since the switch will attempt to send
4610              them out the input port. Disabling learning for  the  VLAN  will
4611              cause the switch to correctly send the packet out all ports con‐
4612              figured for that VLAN. If Open vSwitch is being used as  an  in‐
4613              termediate  switch,  learning can be disabled by adding the mir‐
4614              rored VLAN to flood_vlans in the appropriate Bridge table or ta‐
4615              bles.
4616
4617              Mirroring  to a GRE tunnel has fewer caveats than mirroring to a
4618              VLAN and should generally be preferred.
4619
4620       snaplen: optional integer, in range 14 to 65,535
4621              Maximum per-packet number of bytes to mirror.
4622
4623              A mirrored packet with size larger than snaplen  will  be  trun‐
4624              cated  in datapath to snaplen bytes before sending to the mirror
4625              output port. If omitted, packets are not truncated.
4626
4627     Statistics: Mirror counters:
4628
4629       Key-value pairs that report mirror statistics.  The  update  period  is
4630       controlled  by  other_config:stats-update-interval  in the Open_vSwitch
4631       table.
4632
4633       statistics : tx_packets: optional integer
4634              Number of packets transmitted through this mirror.
4635
4636       statistics : tx_bytes: optional integer
4637              Number of bytes transmitted through this mirror.
4638
4639     Common Columns:
4640
4641       The overall purpose of these columns is described under Common  Columns
4642       at the beginning of this document.
4643
4644       external_ids: map of string-string pairs
4645

Controller TABLE

4647       An OpenFlow controller.
4648
4649   Summary:
4650       Core Features:
4651         type                        optional  string,  either primary or ser‐
4652                                     vice
4653         target                      string
4654         connection_mode             optional  string,   either   in-band   or
4655                                     out-of-band
4656       Controller Failure Detection and Handling:
4657         max_backoff                 optional integer, at least 1,000
4658         inactivity_probe            optional integer
4659       Asynchronous Messages:
4660         enable_async_messages       optional boolean
4661         Controller Rate Limiting:
4662            controller_queue_size    optional integer, in range 1 to 512
4663            controller_rate_limit    optional integer, at least 100
4664            controller_burst_limit   optional integer, at least 25
4665            Controller Rate Limiting Statistics:
4666              status : packet-in-TYPE-bypassed
4667                                     optional  string,  containing an integer,
4668                                     at least 0
4669              status : packet-in-TYPE-queued
4670                                     optional string, containing  an  integer,
4671                                     at least 0
4672              status : packet-in-TYPE-dropped
4673                                     optional  string,  containing an integer,
4674                                     at least 0
4675              status : packet-in-TYPE-backlog
4676                                     optional string, containing  an  integer,
4677                                     at least 0
4678       Additional In-Band Configuration:
4679         local_ip                    optional string
4680         local_netmask               optional string
4681         local_gateway               optional string
4682       Controller Status:
4683         is_connected                boolean
4684         role                        optional string, one of master, other, or
4685                                     slave
4686         status : last_error         optional string
4687         status : state              optional string, one of ACTIVE,  BACKOFF,
4688                                     CONNECTING, IDLE, or VOID
4689         status : sec_since_connect  optional  string,  containing an integer,
4690                                     at least 0
4691         status : sec_since_disconnect
4692                                     optional string, containing  an  integer,
4693                                     at least 1
4694       Connection Parameters:
4695         other_config : dscp         optional string, containing an integer
4696       Common Columns:
4697         external_ids                map of string-string pairs
4698         other_config                map of string-string pairs
4699
4700   Details:
4701     Core Features:
4702
4703       type: optional string, either primary or service
4704              Open  vSwitch  supports  two  kinds  of  OpenFlow controllers. A
4705              bridge may have any number of each kind:
4706
4707              Primary controllers
4708                     This is the kind of controller envisioned by the OpenFlow
4709                     specifications.  Usually, a primary controller implements
4710                     a network policy by taking charge of  the  switch’s  flow
4711                     table.
4712
4713                     The  fail_mode column in the Bridge table applies to pri‐
4714                     mary controllers.
4715
4716                     When multiple primary controllers  are  configured,  Open
4717                     vSwitch  connects to all of them simultaneously. OpenFlow
4718                     provides few facilities to allow multiple controllers  to
4719                     coordinate  in  interacting with a single switch, so more
4720                     than one primary controller should be specified  only  if
4721                     the  controllers  are  themselves  designed to coordinate
4722                     with each other.
4723
4724              Service controllers
4725                     These kinds of OpenFlow controller  connections  are  in‐
4726                     tended  for  occasional support and maintenance use, e.g.
4727                     with ovs-ofctl. Usually  a  service  controller  connects
4728                     only  briefly  to  inspect  or  modify some of a switch’s
4729                     state.
4730
4731                     The fail_mode column in the Bridge table does  not  apply
4732                     to service controllers.
4733
4734              By  default, Open vSwitch treats controllers with active connec‐
4735              tion methods as primary controllers and those with passive  con‐
4736              nection  methods  as service controllers. Set this column to the
4737              desired type to override this default.
4738
4739       target: string
4740              Connection method for controller.
4741
4742              The following active connection methods are currently supported:
4743
4744              ssl:host[:port]
4745                     The specified SSL port on the host  at  the  given  host,
4746                     which can either be a DNS name (if built with unbound li‐
4747                     brary)  or  an  IP  address.  The  ssl  column   in   the
4748                     Open_vSwitch  table  must point to a valid SSL configura‐
4749                     tion when this form is used.
4750
4751                     If port is not specified, it defaults to 6653.
4752
4753                     SSL support is an optional feature  that  is  not  always
4754                     built as part of Open vSwitch.
4755
4756              tcp:host[:port]
4757                     The  specified  TCP  port  on the host at the given host,
4758                     which can either be a DNS name (if built with unbound li‐
4759                     brary)  or  an  IP  address (IPv4 or IPv6). If host is an
4760                     IPv6  address,  wrap  it   in   square   brackets,   e.g.
4761                     tcp:[::1]:6653.
4762
4763                     If port is not specified, it defaults to 6653.
4764
4765              The  following  passive  connection  methods  are currently sup‐
4766              ported:
4767
4768              pssl:[port][:host]
4769                     Listens for SSL connections on the specified TCP port. If
4770                     host,  which  can either be a DNS name (if built with un‐
4771                     bound library) or an IP address, is specified, then  con‐
4772                     nections  are restricted to the resolved or specified lo‐
4773                     cal IP address (either IPv4 or IPv6). If host is an  IPv6
4774                     address,    wrap    it    in    square   brackets,   e.g.
4775                     pssl:6653:[::1].
4776
4777                     If port is not specified, it defaults to 6653. If host is
4778                     not specified then it listens only on IPv4 (but not IPv6)
4779                     addresses. The ssl column in the Open_vSwitch table  must
4780                     point  to  a  valid  SSL  configuration when this form is
4781                     used.
4782
4783                     If port is not specified, it currently to 6653.
4784
4785                     SSL support is an optional feature  that  is  not  always
4786                     built as part of Open vSwitch.
4787
4788              ptcp:[port][:host]
4789                     Listens  for  connections  on  the specified TCP port. If
4790                     host, which can either be a DNS name (if built  with  un‐
4791                     bound  library) or an IP address, is specified, then con‐
4792                     nections are restricted to the resolved or specified  lo‐
4793                     cal  IP address (either IPv4 or IPv6). If host is an IPv6
4794                     address,   wrap   it    in    square    brackets,    e.g.
4795                     ptcp:6653:[::1]. If host is not specified then it listens
4796                     only on IPv4 addresses.
4797
4798                     If port is not specified, it defaults to 6653.
4799
4800              When multiple controllers are configured for  a  single  bridge,
4801              the  target values must be unique. Duplicate target values yield
4802              unspecified results.
4803
4804       connection_mode: optional string, either in-band or out-of-band
4805              If it is specified, this setting must be one  of  the  following
4806              strings  that  describes how Open vSwitch contacts this OpenFlow
4807              controller over the network:
4808
4809              in-band
4810                     In this mode, this controller’s OpenFlow traffic  travels
4811                     over the bridge associated with the controller. With this
4812                     setting, Open vSwitch allows traffic to and from the con‐
4813                     troller  regardless  of the contents of the OpenFlow flow
4814                     table. (Otherwise, Open vSwitch would never  be  able  to
4815                     connect to the controller, because it did not have a flow
4816                     to enable it.) This is the most  common  connection  mode
4817                     because  it  is not necessary to maintain two independent
4818                     networks.
4819
4820              out-of-band
4821                     In this mode, OpenFlow traffic  uses  a  control  network
4822                     separate from the bridge associated with this controller,
4823                     that is, the bridge does not use any of its  own  network
4824                     devices  to  communicate with the controller. The control
4825                     network must be configured separately,  before  or  after
4826                     ovs-vswitchd is started.
4827
4828              If not specified, the default is implementation-specific.
4829
4830     Controller Failure Detection and Handling:
4831
4832       max_backoff: optional integer, at least 1,000
4833              Maximum  number  of  milliseconds to wait between connection at‐
4834              tempts. Default is implementation-specific.
4835
4836       inactivity_probe: optional integer
4837              Maximum number of milliseconds of idle  time  on  connection  to
4838              controller  before  sending an inactivity probe message. If Open
4839              vSwitch does not communicate with the controller for the  speci‐
4840              fied  number  of seconds, it will send a probe. If a response is
4841              not received for  the  same  additional  amount  of  time,  Open
4842              vSwitch  assumes  the connection has been broken and attempts to
4843              reconnect. Default is implementation-specific. A value of 0 dis‐
4844              ables inactivity probes.
4845
4846     Asynchronous Messages:
4847
4848       OpenFlow  switches send certain messages to controllers spontanenously,
4849       that is, not in response to any request from the controller. These mes‐
4850       sages  are  called ``asynchronous messages.’’ These columns allow asyn‐
4851       chronous messages to be limited or disabled to ensure the best  use  of
4852       network resources.
4853
4854       enable_async_messages: optional boolean
4855              The  OpenFlow  protocol enables asynchronous messages at time of
4856              connection establishment, which means that a controller can  re‐
4857              ceive  asynchronous  messages, potentially many of them, even if
4858              it turns them off immediately after connecting. Set this  column
4859              to false to change Open vSwitch behavior to disable, by default,
4860              all  asynchronous  messages.  The   controller   can   use   the
4861              NXT_SET_ASYNC_CONFIG Nicira extension to OpenFlow to turn on any
4862              messages that it does want to receive, if any.
4863
4864     Controller Rate Limiting:
4865
4866       A switch can forward packets to a controller over the  OpenFlow  proto‐
4867       col.  Forwarding  packets  this  way at too high a rate can overwhelm a
4868       controller, frustrate use of the OpenFlow  connection  for  other  pur‐
4869       poses,  increase  the  latency  of  flow setup, and use an unreasonable
4870       amount of bandwidth. Therefore, Open vSwitch supports limiting the rate
4871       of packet forwarding to a controller.
4872
4873       There  are  two  main  reasons in OpenFlow for a packet to be sent to a
4874       controller: either the packet ``misses’’ in the flow  table,  that  is,
4875       there  is  no  matching  flow,  or a flow table action says to send the
4876       packet to the controller. Open vSwitch limits the rate of each kind  of
4877       packet  separately  at  the configured rate. Therefore, the actual rate
4878       that packets are sent to the controller can be up to twice the  config‐
4879       ured rate, when packets are sent for both reasons.
4880
4881       This feature is specific to forwarding packets over an OpenFlow connec‐
4882       tion. It is not general-purpose QoS. See the QoS table for  quality  of
4883       service configuration, and ingress_policing_rate in the Interface table
4884       for ingress policing configuration.
4885
4886       controller_queue_size: optional integer, in range 1 to 512
4887              This sets the maximum size of the queue of packets that need  to
4888              be sent to this OpenFlow controller. The value must be less than
4889              512. If not specified the queue size is limited to the value set
4890              for  the management controller in other_config:controller-queue-
4891              size if present or 100 packets by default. Note: increasing  the
4892              queue size might have a negative impact on latency.
4893
4894       controller_rate_limit: optional integer, at least 100
4895              The maximum rate at which the switch will forward packets to the
4896              OpenFlow controller, in packets per second. If no value is spec‐
4897              ified, rate limiting is disabled.
4898
4899       controller_burst_limit: optional integer, at least 25
4900              When  a  high  rate  triggers rate-limiting, Open vSwitch queues
4901              packets to the controller for each port and  transmits  them  to
4902              the  controller  at  the  configured rate. This value limits the
4903              number of queued packets. Ports on a  bridge  share  the  packet
4904              queue fairly.
4905
4906              This value has no effect unless controller_rate_limit is config‐
4907              ured. The current default when this value is  not  specified  is
4908              one-quarter  of  controller_rate_limit, meaning that queuing can
4909              delay forwarding a packet to the controller by up to 250 ms.
4910
4911     Controller Rate Limiting Statistics:
4912
4913       These values report the effects of rate limiting. Their values are rel‐
4914       ative to establishment of the most recent OpenFlow connection, or since
4915       rate limiting was enabled, whichever happened more recently. Each  con‐
4916       sists  of  two values, one with TYPE replaced by miss for rate limiting
4917       flow table misses, and the other with TYPE replaced by action for  rate
4918       limiting packets sent by OpenFlow actions.
4919
4920       These statistics are reported only when controller rate limiting is en‐
4921       abled.
4922
4923       status : packet-in-TYPE-bypassed: optional string, containing an  inte‐
4924       ger, at least 0
4925              Number of packets sent directly to the controller, without queu‐
4926              ing, because the rate did not exceed the configured maximum.
4927
4928       status : packet-in-TYPE-queued: optional string, containing an integer,
4929       at least 0
4930              Number of packets added to the queue to send later.
4931
4932       status  :  packet-in-TYPE-dropped: optional string, containing an inte‐
4933       ger, at least 0
4934              Number of packets added to the queue that were later dropped due
4935              to  overflow. This value is less than or equal to status:packet-
4936              in-TYPE-queued.
4937
4938       status : packet-in-TYPE-backlog: optional string, containing  an  inte‐
4939       ger, at least 0
4940              Number  of  packets  currently  queued. The other statistics in‐
4941              crease monotonically, but this one fluctuates between 0 and  the
4942              controller_burst_limit as conditions change.
4943
4944     Additional In-Band Configuration:
4945
4946       These  values  are considered only in in-band control mode (see connec‐
4947       tion_mode).
4948
4949       When multiple controllers are configured  on  a  single  bridge,  there
4950       should  be only one set of unique values in these columns. If different
4951       values are set for these columns in different controllers,  the  effect
4952       is unspecified.
4953
4954       local_ip: optional string
4955              The   IP   address   to   configure  on  the  local  port,  e.g.
4956              192.168.0.123. If this value is unset,  then  local_netmask  and
4957              local_gateway are ignored.
4958
4959       local_netmask: optional string
4960              The   IP   netmask   to   configure  on  the  local  port,  e.g.
4961              255.255.255.0. If local_ip is set but this value is unset,  then
4962              the  default  is chosen based on whether the IP address is class
4963              A, B, or C.
4964
4965       local_gateway: optional string
4966              The IP address of the gateway to configure on the local port, as
4967              a string, e.g. 192.168.0.1. Leave this column unset if this net‐
4968              work has no gateway.
4969
4970     Controller Status:
4971
4972       is_connected: boolean
4973              true if currently connected to this controller, false otherwise.
4974
4975       role: optional string, one of master, other, or slave
4976              The level of authority this controller  has  on  the  associated
4977              bridge. Possible values are:
4978
4979              other  Allows the controller access to all OpenFlow features.
4980
4981              master Equivalent to other, except that there may be at most one
4982                     such controller at a time. If a given controller promotes
4983                     itself  to  this  role, ovs-vswitchd demotes any existing
4984                     controller with the role to slave.
4985
4986              slave  Allows the controller read-only access to  OpenFlow  fea‐
4987                     tures. Attempts to modify the flow table will be rejected
4988                     with  an  error.  Such   controllers   do   not   receive
4989                     OFPT_PACKET_IN or OFPT_FLOW_REMOVED messages, but they do
4990                     receive OFPT_PORT_STATUS messages.
4991
4992       status : last_error: optional string
4993              A human-readable description of the last error on the connection
4994              to  the  controller;  i.e.  strerror(errno). This key will exist
4995              only if an error has occurred.
4996
4997       status : state: optional string, one of  ACTIVE,  BACKOFF,  CONNECTING,
4998       IDLE, or VOID
4999              The state of the connection to the controller:
5000
5001              VOID   Connection is disabled.
5002
5003              BACKOFF
5004                     Attempting to reconnect at an increasing period.
5005
5006              CONNECTING
5007                     Attempting to connect.
5008
5009              ACTIVE Connected, remote host responsive.
5010
5011              IDLE   Connection is idle. Waiting for response to keep-alive.
5012
5013              These  values  may  change in the future. They are provided only
5014              for human consumption.
5015
5016       status : sec_since_connect: optional string, containing an integer,  at
5017       least 0
5018              The  amount of time since this controller last successfully con‐
5019              nected to the switch (in seconds). Value is empty if  controller
5020              has never successfully connected.
5021
5022       status  : sec_since_disconnect: optional string, containing an integer,
5023       at least 1
5024              The amount of time since this controller last disconnected  from
5025              the  switch (in seconds). Value is empty if controller has never
5026              disconnected.
5027
5028     Connection Parameters:
5029
5030       Additional configuration for a connection between  the  controller  and
5031       the Open vSwitch.
5032
5033       other_config : dscp: optional string, containing an integer
5034              The  Differentiated Service Code Point (DSCP) is specified using
5035              6 bits in the Type of Service (TOS) field in the IP header. DSCP
5036              provides a mechanism to classify the network traffic and provide
5037              Quality of Service (QoS) on IP networks. The DSCP  value  speci‐
5038              fied  here  is used when establishing the connection between the
5039              controller and the Open vSwitch. If no value is specified, a de‐
5040              fault  value  of  48 is chosen. Valid DSCP values must be in the
5041              range 0 to 63.
5042
5043     Common Columns:
5044
5045       The overall purpose of these columns is described under Common  Columns
5046       at the beginning of this document.
5047
5048       external_ids: map of string-string pairs
5049
5050       other_config: map of string-string pairs
5051

Manager TABLE

5053       Configuration  for  a  database  connection to an Open vSwitch database
5054       (OVSDB) client.
5055
5056       This   table   primarily   configures   the   Open   vSwitch   database
5057       (ovsdb-server),  not the Open vSwitch switch (ovs-vswitchd). The switch
5058       does read the table to determine what connections should be treated  as
5059       in-band.
5060
5061       The  Open vSwitch database server can initiate and maintain active con‐
5062       nections to remote clients. It can also  listen  for  database  connec‐
5063       tions.
5064
5065   Summary:
5066       Core Features:
5067         target                      string (must be unique within table)
5068         connection_mode             optional   string,   either   in-band  or
5069                                     out-of-band
5070       Client Failure Detection and Handling:
5071         max_backoff                 optional integer, at least 1,000
5072         inactivity_probe            optional integer
5073       Status:
5074         is_connected                boolean
5075         status : last_error         optional string
5076         status : state              optional string, one of ACTIVE,  BACKOFF,
5077                                     CONNECTING, IDLE, or VOID
5078         status : sec_since_connect  optional  string,  containing an integer,
5079                                     at least 0
5080         status : sec_since_disconnect
5081                                     optional string, containing  an  integer,
5082                                     at least 0
5083         status : locks_held         optional string
5084         status : locks_waiting      optional string
5085         status : locks_lost         optional string
5086         status : n_connections      optional  string,  containing an integer,
5087                                     at least 2
5088         status : bound_port         optional string, containing an integer
5089       Connection Parameters:
5090         other_config : dscp         optional string, containing an integer
5091       Common Columns:
5092         external_ids                map of string-string pairs
5093         other_config                map of string-string pairs
5094
5095   Details:
5096     Core Features:
5097
5098       target: string (must be unique within table)
5099              Connection method for managers.
5100
5101              The following connection methods are currently supported:
5102
5103              ssl:host[:port]
5104                     The specified SSL port on the host  at  the  given  host,
5105                     which can either be a DNS name (if built with unbound li‐
5106                     brary)  or  an  IP  address.  The  ssl  column   in   the
5107                     Open_vSwitch  table  must point to a valid SSL configura‐
5108                     tion when this form is used.
5109
5110                     If port is not specified, it defaults to 6640.
5111
5112                     SSL support is an optional feature  that  is  not  always
5113                     built as part of Open vSwitch.
5114
5115              tcp:host[:port]
5116                     The  specified  TCP  port  on the host at the given host,
5117                     which can either be a DNS name (if built with unbound li‐
5118                     brary)  or  an  IP  address (IPv4 or IPv6). If host is an
5119                     IPv6  address,  wrap  it   in   square   brackets,   e.g.
5120                     tcp:[::1]:6640.
5121
5122                     If port is not specified, it defaults to 6640.
5123
5124              pssl:[port][:host]
5125                     Listens  for  SSL  connections on the specified TCP port.
5126                     Specify 0 for  port  to  have  the  kernel  automatically
5127                     choose  an available port. If host, which can either be a
5128                     DNS name (if built with unbound library)  or  an  IP  ad‐
5129                     dress,  is  specified, then connections are restricted to
5130                     the resolved or specified local IP address  (either  IPv4
5131                     or  IPv6  address).  If  host is an IPv6 address, wrap in
5132                     square brackets, e.g. pssl:6640:[::1].  If  host  is  not
5133                     specified then it listens only on IPv4 (but not IPv6) ad‐
5134                     dresses. The ssl column in the  Open_vSwitch  table  must
5135                     point  to  a  valid  SSL  configuration when this form is
5136                     used.
5137
5138                     If port is not specified, it defaults to 6640.
5139
5140                     SSL support is an optional feature  that  is  not  always
5141                     built as part of Open vSwitch.
5142
5143              ptcp:[port][:host]
5144                     Listens  for connections on the specified TCP port. Spec‐
5145                     ify 0 for port to have the kernel automatically choose an
5146                     available  port.  If host, which can either be a DNS name
5147                     (if built with unbound library)  or  an  IP  address,  is
5148                     specified,  then  connections  are  restricted to the re‐
5149                     solved or specified local IP address (either IPv4 or IPv6
5150                     address).  If  host is an IPv6 address, wrap it in square
5151                     brackets, e.g. ptcp:6640:[::1]. If host is not  specified
5152                     then it listens only on IPv4 addresses.
5153
5154                     If port is not specified, it defaults to 6640.
5155
5156              When multiple managers are configured, the target values must be
5157              unique. Duplicate target values yield unspecified results.
5158
5159       connection_mode: optional string, either in-band or out-of-band
5160              If it is specified, this setting must be one  of  the  following
5161              strings  that  describes  how  Open  vSwitch contacts this OVSDB
5162              client over the network:
5163
5164              in-band
5165                     In this mode, this connection’s traffic  travels  over  a
5166                     bridge  managed  by Open vSwitch. With this setting, Open
5167                     vSwitch allows traffic to and from the client  regardless
5168                     of  the  contents of the OpenFlow flow table. (Otherwise,
5169                     Open vSwitch would  never  be  able  to  connect  to  the
5170                     client,  because  it  did  not have a flow to enable it.)
5171                     This is the most common connection mode because it is not
5172                     necessary to maintain two independent networks.
5173
5174              out-of-band
5175                     In this mode, the client’s traffic uses a control network
5176                     separate from that managed by Open vSwitch, that is, Open
5177                     vSwitch  does  not  use any of its own network devices to
5178                     communicate with the client. The control network must  be
5179                     configured  separately,  before  or after ovs-vswitchd is
5180                     started.
5181
5182              If not specified, the default is implementation-specific.
5183
5184     Client Failure Detection and Handling:
5185
5186       max_backoff: optional integer, at least 1,000
5187              Maximum number of milliseconds to wait  between  connection  at‐
5188              tempts. Default is implementation-specific.
5189
5190       inactivity_probe: optional integer
5191              Maximum number of milliseconds of idle time on connection to the
5192              client before sending  an  inactivity  probe  message.  If  Open
5193              vSwitch  does  not communicate with the client for the specified
5194              number of seconds, it will send a probe. If a  response  is  not
5195              received  for  the  same additional amount of time, Open vSwitch
5196              assumes the connection has been broken and  attempts  to  recon‐
5197              nect.  Default is implementation-specific. A value of 0 disables
5198              inactivity probes.
5199
5200     Status:
5201
5202       Key-value pair of is_connected is always updated. Other key-value pairs
5203       in the status columns may be updated depends on the target type.
5204
5205       When target specifies a connection method that listens for inbound con‐
5206       nections (e.g. ptcp: or punix:), both  n_connections  and  is_connected
5207       may also be updated while the remaining key-value pairs are omitted.
5208
5209       On  the  other  hand, when target specifies an outbound connection, all
5210       key-value pairs may be updated, except  the  above-mentioned  two  key-
5211       value  pairs associated with inbound connection targets. They are omit‐
5212       ted.
5213
5214       is_connected: boolean
5215              true if currently connected to this manager, false otherwise.
5216
5217       status : last_error: optional string
5218              A human-readable description of the last error on the connection
5219              to  the  manager; i.e. strerror(errno). This key will exist only
5220              if an error has occurred.
5221
5222       status : state: optional string, one of  ACTIVE,  BACKOFF,  CONNECTING,
5223       IDLE, or VOID
5224              The state of the connection to the manager:
5225
5226              VOID   Connection is disabled.
5227
5228              BACKOFF
5229                     Attempting to reconnect at an increasing period.
5230
5231              CONNECTING
5232                     Attempting to connect.
5233
5234              ACTIVE Connected, remote host responsive.
5235
5236              IDLE   Connection is idle. Waiting for response to keep-alive.
5237
5238              These  values  may  change in the future. They are provided only
5239              for human consumption.
5240
5241       status : sec_since_connect: optional string, containing an integer,  at
5242       least 0
5243              The  amount  of  time  since this manager last successfully con‐
5244              nected to the database (in seconds). Value is empty  if  manager
5245              has never successfully connected.
5246
5247       status  : sec_since_disconnect: optional string, containing an integer,
5248       at least 0
5249              The amount of time since this manager last disconnected from the
5250              database  (in seconds). Value is empty if manager has never dis‐
5251              connected.
5252
5253       status : locks_held: optional string
5254              Space-separated list of the names of OVSDB locks that  the  con‐
5255              nection  holds.  Omitted  if  the  connection  does not hold any
5256              locks.
5257
5258       status : locks_waiting: optional string
5259              Space-separated list of the names of OVSDB locks that  the  con‐
5260              nection  is currently waiting to acquire. Omitted if the connec‐
5261              tion is not waiting for any locks.
5262
5263       status : locks_lost: optional string
5264              Space-separated list of the names of OVSDB locks that  the  con‐
5265              nection  has  had  stolen by another OVSDB client. Omitted if no
5266              locks have been stolen from this connection.
5267
5268       status : n_connections: optional  string,  containing  an  integer,  at
5269       least 2
5270              When  target  specifies a connection method that listens for in‐
5271              bound connections (e.g. ptcp: or pssl:) and more than  one  con‐
5272              nection  is  actually  active, the value is the number of active
5273              connections. Otherwise, this key-value pair is omitted.
5274
5275       status : bound_port: optional string, containing an integer
5276              When target is ptcp: or pssl:, this is the TCP port on which the
5277              OVSDB  server  is  listening.  (This is particularly useful when
5278              target specifies a port of 0, allowing the kernel to choose  any
5279              available port.)
5280
5281     Connection Parameters:
5282
5283       Additional  configuration  for a connection between the manager and the
5284       Open vSwitch Database.
5285
5286       other_config : dscp: optional string, containing an integer
5287              The Differentiated Service Code Point (DSCP) is specified  using
5288              6 bits in the Type of Service (TOS) field in the IP header. DSCP
5289              provides a mechanism to classify the network traffic and provide
5290              Quality  of  Service (QoS) on IP networks. The DSCP value speci‐
5291              fied here is used when establishing the connection  between  the
5292              manager  and  the  Open vSwitch. If no value is specified, a de‐
5293              fault value of 48 is chosen. Valid DSCP values must  be  in  the
5294              range 0 to 63.
5295
5296     Common Columns:
5297
5298       The  overall purpose of these columns is described under Common Columns
5299       at the beginning of this document.
5300
5301       external_ids: map of string-string pairs
5302
5303       other_config: map of string-string pairs
5304

NetFlow TABLE

5306       A NetFlow target. NetFlow is a protocol that exports a  number  of  de‐
5307       tails  about  terminating IP flows, such as the principals involved and
5308       duration.
5309
5310   Summary:
5311       targets                       set of 1 or more strings
5312       engine_id                     optional integer, in range 0 to 255
5313       engine_type                   optional integer, in range 0 to 255
5314       active_timeout                integer, at least -1
5315       add_id_to_interface           boolean
5316       Common Columns:
5317         external_ids                map of string-string pairs
5318
5319   Details:
5320       targets: set of 1 or more strings
5321              NetFlow targets in the form ip:port. The ip  must  be  specified
5322              numerically, not as a DNS name.
5323
5324       engine_id: optional integer, in range 0 to 255
5325              Engine ID to use in NetFlow messages. Defaults to datapath index
5326              if not specified.
5327
5328       engine_type: optional integer, in range 0 to 255
5329              Engine type to use in NetFlow messages. Defaults to datapath in‐
5330              dex if not specified.
5331
5332       active_timeout: integer, at least -1
5333              The  interval  at  which NetFlow records are sent for flows that
5334              are still active, in seconds. A value of 0 requests the  default
5335              timeout  (currently  600 seconds); a value of -1 disables active
5336              timeouts.
5337
5338              The NetFlow passive timeout, for flows that become inactive,  is
5339              not  configurable.  It  will  vary depending on the Open vSwitch
5340              version, the forms and contents of the OpenFlow flow tables, CPU
5341              and  memory usage, and network activity. A typical passive time‐
5342              out is about a second.
5343
5344       add_id_to_interface: boolean
5345              If this column’s value is false, the ingress and  egress  inter‐
5346              face  fields  of  NetFlow flow records are derived from OpenFlow
5347              port numbers. When it is true, the 7 most  significant  bits  of
5348              these fields will be replaced by the least significant 7 bits of
5349              the engine id. This is useful because many NetFlow collectors do
5350              not  expect  multiple  switches  to be sending messages from the
5351              same host, so they do not store  the  engine  information  which
5352              could be used to disambiguate the traffic.
5353
5354              When  this  option  is  enabled, a maximum of 508 ports are sup‐
5355              ported.
5356
5357     Common Columns:
5358
5359       The overall purpose of these columns is described under Common  Columns
5360       at the beginning of this document.
5361
5362       external_ids: map of string-string pairs
5363

Datapath TABLE

5365       Configuration for a datapath within Open_vSwitch.
5366
5367       A  datapath  is  responsible  for providing the packet handling in Open
5368       vSwitch. There are two primary datapath implementations  used  by  Open
5369       vSwitch:  kernel  and  userspace.  Kernel  datapath implementations are
5370       available for Linux and Hyper-V, and selected as system  in  the  data‐
5371       path_type column of the Bridge table. The userspace datapath is used by
5372       DPDK and AF-XDP, and is selected as netdev in the datapath_type  column
5373       of the Bridge table.
5374
5375       A  datapath  of a particular type is shared by all the bridges that use
5376       that datapath. Thus, configurations applied to this  table  affect  all
5377       bridges that use this datapath.
5378
5379   Summary:
5380       datapath_version              string
5381       ct_zones                      map  of  integer-CT_Zone  pairs,  key  in
5382                                     range 0 to 65,535
5383       Capabilities:
5384         capabilities : max_vlan_headers
5385                                     optional string, containing  an  integer,
5386                                     at least 0
5387         capabilities : recirc       optional string, either true or false
5388         capabilities : lb_output_action
5389                                     optional string, either true or false
5390         Connection-Tracking Capabilities:
5391            capabilities : ct_state  optional string, either true or false
5392            capabilities : ct_state_nat
5393                                     optional string, either true or false
5394            capabilities : ct_zone   optional string, either true or false
5395            capabilities : ct_mark   optional string, either true or false
5396            capabilities : ct_label  optional string, either true or false
5397            capabilities : ct_orig_tuple
5398                                     optional string, either true or false
5399            capabilities : ct_orig_tuple6
5400                                     optional string, either true or false
5401         capabilities : masked_set_action
5402                                     optional string, either true or false
5403         capabilities : tnl_push_pop
5404                                     optional string, either true or false
5405         capabilities : ufid         optional string, either true or false
5406         capabilities : trunc        optional string, either true or false
5407         capabilities : nd_ext       optional string, either true or false
5408         Clone Actions:
5409            capabilities : clone     optional string, either true or false
5410            capabilities : sample_nesting
5411                                     optional  string,  containing an integer,
5412                                     at least 0
5413         capabilities : ct_eventmask
5414                                     optional string, either true or false
5415         capabilities : ct_clear     optional string, either true or false
5416         capabilities : max_hash_alg
5417                                     optional string, containing  an  integer,
5418                                     at least 0
5419         capabilities : check_pkt_len
5420                                     optional string, either true or false
5421         capabilities : ct_timeout   optional string, either true or false
5422         capabilities : explicit_drop_action
5423                                     optional string, either true or false
5424         capabilities : ct_zero_snat
5425                                     optional string, either true or false
5426         capabilities : ct_flush     optional string, either true or false
5427       Common Columns:
5428         external_ids                map of string-string pairs
5429
5430   Details:
5431       datapath_version: string
5432              Reports  the version number of the Open vSwitch datapath in use.
5433              This allows management software to detect and report  discrepan‐
5434              cies  between Open vSwitch userspace and datapath versions. (The
5435              ovs_version column in the Open_vSwitch reports the Open  vSwitch
5436              userspace version.) The version reported depends on the datapath
5437              in use:
5438
5439              •      When the kernel  module  included  in  the  Open  vSwitch
5440                     source tree is used, this column reports the Open vSwitch
5441                     version from which the module was taken.
5442
5443              •      When the kernel module that is part of the upstream Linux
5444                     kernel is used, this column reports <unknown>.
5445
5446              •      When  the datapath is built into the ovs-vswitchd binary,
5447                     this column reports <built-in>. A built-in datapath is by
5448                     definition  the  same  version  as  the  rest of the Open
5449                     vSwitch userspace.
5450
5451              •      Other datapaths (such as  the  Hyper-V  kernel  datapath)
5452                     currently report <unknown>.
5453
5454              A  version  discrepancy between ovs-vswitchd and the datapath in
5455              use is not normally cause for alarm.  The  Open  vSwitch  kernel
5456              datapaths for Linux and Hyper-V, in particular, are designed for
5457              maximum inter-version compatibility: any userspace version works
5458              with with any kernel version. Some reasons do exist to insist on
5459              particular user/kernel pairings. First,  newer  kernel  versions
5460              add new features, that can only be used by new-enough userspace,
5461              e.g. VXLAN tunneling requires certain minimal userspace and ker‐
5462              nel  versions. Second, as an extension to the first reason, some
5463              newer kernel versions add new features for enhancing performance
5464              that only new-enough userspace versions can take advantage of.
5465
5466       ct_zones: map of integer-CT_Zone pairs, key in range 0 to 65,535
5467              Configuration for connection tracking zones. Each pair maps from
5468              a zone id to a configuration for that zone. Zone  0  applies  to
5469              the default zone (ie, the one used if a zone is not specified in
5470              connection tracking-related OpenFlow matches and actions).
5471
5472     Capabilities:
5473
5474       The capabilities column reports a datapath’s features. For  the  netdev
5475       datapath,  the  capabilities  are  fixed  for  a  given version of Open
5476       vSwitch because this datapath is built into  the  ovs-vswitchd  binary.
5477       The Linux kernel and Windows and other datapaths, which are external to
5478       OVS userspace, can vary in version and capabilities independently  from
5479       ovs-vswitchd.
5480
5481       Some  of these features indicate whether higher-level Open vSwitch fea‐
5482       tures are available. For example,  OpenFlow  features  for  connection-
5483       tracking  are available only when capabilities:ct_state is true. A con‐
5484       troller that wishes to determine whether a feature is supported  could,
5485       therefore, consult the relevant capabilities in this table. However, as
5486       a general rule, it is better for a controller to try to use the higher-
5487       level feature and use the result as an indication of support, since the
5488       low-level capabilities are more likely to  shift  over  time  than  the
5489       high-level features that rely on them.
5490
5491       capabilities  :  max_vlan_headers: optional string, containing an inte‐
5492       ger, at least 0
5493              Number of 802.1q VLAN headers  supported  by  the  datapath,  as
5494              probed  by  the ovs-vswitchd slow path. If the datapath supports
5495              more VLAN headers than the slow  path,  this  reports  the  slow
5496              path’s  limit.  The  value  of  other-config:vlan-limit  in  the
5497              Open_vSwitch table does not influence the number reported here.
5498
5499       capabilities : recirc: optional string, either true or false
5500              If this is  true,  then  the  datapath  supports  recirculation,
5501              specifically   OVS_KEY_ATTR_RECIRC_ID.   Recirculation   enables
5502              higher performance for MPLS  and  active-active  load  balancing
5503              bonding modes.
5504
5505       capabilities : lb_output_action: optional string, either true or false
5506              If  this  is true, then the datapath supports optimized balance-
5507              tcp bond mode. This capability replaces existing hash and recirc
5508              actions  with  new  action lb_output and avoids recirculation of
5509              packet in datapath. It is supported only  for  balance-tcp  bond
5510              mode in netdev datapath. The new action gives higher performance
5511              by using bond buckets instead of post  recirculation  flows  for
5512              selection of slave port from bond. By default this new action is
5513              disabled, however it can be enabled by setting  other-config:lb-
5514              output-action in Port table.
5515
5516     Connection-Tracking Capabilities:
5517
5518       These  capabilities are granular because Open vSwitch and its datapaths
5519       added support for connection tracking over several releases, with  fea‐
5520       tures added individually over that time.
5521
5522       capabilities : ct_state: optional string, either true or false
5523              If  true,  datapath  supports OVS_KEY_ATTR_CT_STATE, which indi‐
5524              cates support for the bits in the OpenFlow ct_state  field  (see
5525              ovs-fields(7))  other  than snat and dnat, which have a separate
5526              capability.
5527
5528              If this is false, the  datapath  does  not  support  connection-
5529              tracking  at all and the remaining connection-tracking capabili‐
5530              ties should all be false. In this case, Open vSwitch will reject
5531              flows that match on the ct_state field or use the ct action.
5532
5533       capabilities : ct_state_nat: optional string, either true or false
5534              If  true,  it means that the datapath supports the snat and dnat
5535              flags in the OpenFlow ct_state field.  The  ct_state  capability
5536              must be true for this to make sense.
5537
5538              If  false, Open vSwitch will reject flows that match on the snat
5539              or dnat bits in ct_state or use nat in the ct action.
5540
5541       capabilities : ct_zone: optional string, either true or false
5542              If true, datapath supports OVS_KEY_ATTR_CT_ZONE. If false,  Open
5543              vSwitch  rejects  flows  that match on the ct_zone field or that
5544              specify a nonzero zone or a zone field on the ct action.
5545
5546       capabilities : ct_mark: optional string, either true or false
5547              If true, datapath supports OVS_KEY_ATTR_CT_MARK. If false,  Open
5548              vSwitch  rejects  flows  that match on the ct_mark field or that
5549              set ct_mark in the ct action.
5550
5551       capabilities : ct_label: optional string, either true or false
5552              If true, datapath supports OVS_KEY_ATTR_CT_LABEL. If false, Open
5553              vSwitch  rejects  flows that match on the ct_label field or that
5554              set ct_label in the ct action.
5555
5556       capabilities : ct_orig_tuple: optional string, either true or false
5557              If true, the datapath supports matching  the  5-tuple  from  the
5558              connection’s original direction for IPv4 traffic. If false, Open
5559              vSwitch rejects flows that match on ct_nw_src or ct_nw_dst, that
5560              use  the ct feature of the resubmit action, or the force keyword
5561              in the ct action. (The latter isn’t tied to connection  tracking
5562              support  of  original tuples in any technical way. They are con‐
5563              flated because all current datapaths implemented  the  two  fea‐
5564              tures at the same time.)
5565
5566              If  this  and  capabilities:ct_orig_tuple6  are both false, Open
5567              vSwitch rejects flows that match on ct_nw_proto,  ct_tp_src,  or
5568              ct_tp_dst.
5569
5570       capabilities : ct_orig_tuple6: optional string, either true or false
5571              If  true,  the  datapath  supports matching the 5-tuple from the
5572              connection’s original direction for IPv6 traffic. If false, Open
5573              vSwitch rejects flows that match on ct_ipv6_src or ct_ipv6_dst.
5574
5575       capabilities : masked_set_action: optional string, either true or false
5576              True if the datapath supports masked data in OVS_ACTION_ATTR_SET
5577              actions.  Masked  data  can  improve  performance  by   allowing
5578              megaflows to match on fewer fields.
5579
5580       capabilities : tnl_push_pop: optional string, either true or false
5581              True  if the datapath supports tnl_push and pop actions. This is
5582              a prerequisite for a datapath to support native tunneling.
5583
5584       capabilities : ufid: optional string, either true or false
5585              True if the datapath supports OVS_FLOW_ATTR_UFID.  UFID  support
5586              improves  revalidation performance by transferring less data be‐
5587              tween the slow path and the datapath.
5588
5589       capabilities : trunc: optional string, either true or false
5590              True if the datapath supports OVS_ACTION_ATTR_TRUNC  action.  If
5591              false,  the  output action with packet truncation requires every
5592              packet to be sent to the Open vSwitch slow path, which is likely
5593              to make it too slow for mirroring traffic in bulk.
5594
5595       capabilities : nd_ext: optional string, either true or false
5596              True  if  the  datapath  supports  OVS_KEY_ATTR_ND_EXTENSIONS to
5597              match on ICMPv6  "ND  reserved"  and  "ND  option  type"  header
5598              fields.  If  false, the datapath reports error if the feature is
5599              used.
5600
5601     Clone Actions:
5602
5603       When Open vSwitch translates actions from OpenFlow  into  the  datapath
5604       representation,  some  of the datapath actions may modify the packet or
5605       have other side effects that later datapath  actions  can’t  undo.  The
5606       OpenFlow   ct,   meter,  output  with  truncation,  encap,  decap,  and
5607       dec_nsh_ttl actions fall into this category. Often, this is not a prob‐
5608       lem because nothing later on needs the original packet.
5609
5610       Such actions can, however, occur in circumstances where the translation
5611       does require the original packet. For example, an OpenFlow  output  ac‐
5612       tion might direct a packet to a patch port, which might in turn lead to
5613       a ct action that NATs the packet (which cannot be undone), and then af‐
5614       terward  when  control  flow pops back across the patch port some other
5615       action might need to act on the original packet.
5616
5617       Open vSwitch has two different ways to implement this  ``save  and  re‐
5618       store’’  via  datapath  actions.  These capabilities indicate which one
5619       Open vSwitch will choose. When neither is available, Open vSwitch  sim‐
5620       ply fails in situations that require this feature.
5621
5622       capabilities : clone: optional string, either true or false
5623              True if the datapath supports OVS_ACTION_ATTR_CLONE action. This
5624              is the preferred option for saving and restoring packets,  since
5625              it is intended for the purpose, but old datapaths do not support
5626              it. Open vSwitch will use it whenever it is available.
5627
5628              (The OpenFlow clone action  does  not  always  yield  a  OVS_AC‐
5629              TION_ATTR_CLONE  action.  It only does so when the datapath sup‐
5630              ports it and the clone brackets actions that otherwise cannot be
5631              undone.)
5632
5633       capabilities  : sample_nesting: optional string, containing an integer,
5634       at least 0
5635              Maximum level of nesting allowed by  OVS_ACTION_ATTR_SAMPLE  ac‐
5636              tion.  Open vSwitch misuses this action for saving and restoring
5637              packets when the datapath supports more than 3 levels of nesting
5638              and OVS_ACTION_ATTR_CLONE is not available.
5639
5640       capabilities : ct_eventmask: optional string, either true or false
5641              True  if the datapath’s OVS_ACTION_ATTR_CT action implements the
5642              OVS_CT_ATTR_EVENTMASK attribute. When this is true, Open vSwitch
5643              uses  the  event  mask  feature to limit the kinds of events re‐
5644              ported to conntrack update listeners. When Open vSwitch  doesn’t
5645              limit the event mask, listeners receive reports of numerous usu‐
5646              ally unimportant events, such  as  TCP  state  machine  changes,
5647              which can waste CPU time.
5648
5649       capabilities : ct_clear: optional string, either true or false
5650              True  if  the datapath supports OVS_ACTION_ATTR_CT_CLEAR action.
5651              If false, the OpenFlow ct_clear action  has  no  effect  on  the
5652              datapath.
5653
5654       capabilities : max_hash_alg: optional string, containing an integer, at
5655       least 0
5656              Highest supported dp_hash algorithm. This allows Open vSwitch to
5657              avoid  requesting  a packet hash that the datapath does not sup‐
5658              port.
5659
5660       capabilities : check_pkt_len: optional string, either true or false
5661              True if the datapath supports OVS_ACTION_ATTR_CHECK_PKT_LEN.  If
5662              false,  Open  vSwitch  implements the check_pkt_larger action by
5663              sending every packet through the Open vSwitch slow  path,  which
5664              is likely to make it too slow for handling traffic in bulk.
5665
5666       capabilities : ct_timeout: optional string, either true or false
5667              True if the datapath supports OVS_CT_ATTR_TIMEOUT in the OVS_AC‐
5668              TION_ATTR_CT action. If false,  Open  vswitch  cannot  implement
5669              timeout  policies based on connection tracking zones, as config‐
5670              ured through the CT_Timeout_Policy table.
5671
5672       capabilities : explicit_drop_action: optional string,  either  true  or
5673       false
5674              True  if  the  datapath supports OVS_ACTION_ATTR_DROP. If false,
5675              explicit drop action will not be sent to the datapath.
5676
5677       capabilities : ct_zero_snat: optional string, either true or false
5678              True if the datapath supports all-zero SNAT. This is  a  special
5679              case  if  the  src  IP  address  is configured as all 0’s, i.e.,
5680              nat(src=0.0.0.0). In this case, when a source port collision  is
5681              detected  during  the commit, the source port will be translated
5682              to an ephemeral port. If there is no collision, no SNAT is  per‐
5683              formed.
5684
5685       capabilities : ct_flush: optional string, either true or false
5686              True if the datapath supports CT flush OpenFlow Nicira extension
5687              called NXT_CT_FLUSH. The NXT_CT_FLUSH extensions allows to flush
5688              CT entries based on specified parameters.
5689
5690     Common Columns:
5691
5692       The  overall purpose of these columns is described under Common Columns
5693       at the beginning of this document.
5694
5695       external_ids: map of string-string pairs
5696

CT_Zone TABLE

5698       Connection tracking zone configuration
5699
5700   Summary:
5701       timeout_policy                optional CT_Timeout_Policy
5702       Common Columns:
5703         external_ids                map of string-string pairs
5704
5705   Details:
5706       timeout_policy: optional CT_Timeout_Policy
5707              Connection tracking timeout policy for this zone. If  a  timeout
5708              policy  is  not  specified, it defaults to the timeout policy in
5709              the system.
5710
5711     Common Columns:
5712
5713       The overall purpose of these columns is described under Common  Columns
5714       at the beginning of this document.
5715
5716       external_ids: map of string-string pairs
5717

CT_Timeout_Policy TABLE

5719       Connection tracking timeout policy configuration
5720
5721   Summary:
5722       Timeouts:
5723         timeouts                    map  of  string-integer pairs, key one of
5724                                     icmp_first,    icmp_reply,     tcp_close,
5725                                     tcp_close_wait,          tcp_established,
5726                                     tcp_fin_wait, tcp_last_ack,  tcp_retrans‐
5727                                     mit,     tcp_syn_recv,     tcp_syn_sent2,
5728                                     tcp_syn_sent,  tcp_time_wait,  tcp_unack,
5729                                     udp_first,  udp_multiple,  or udp_single,
5730                                     value in range 0 to 4,294,967,295
5731         TCP Timeouts:
5732            timeouts : tcp_syn_sent  optional   integer,   in   range   0   to
5733                                     4,294,967,295
5734            timeouts : tcp_syn_recv  optional   integer,   in   range   0   to
5735                                     4,294,967,295
5736            timeouts : tcp_established
5737                                     optional   integer,   in   range   0   to
5738                                     4,294,967,295
5739            timeouts : tcp_fin_wait  optional   integer,   in   range   0   to
5740                                     4,294,967,295
5741            timeouts : tcp_close_wait
5742                                     optional   integer,   in   range   0   to
5743                                     4,294,967,295
5744            timeouts : tcp_last_ack  optional   integer,   in   range   0   to
5745                                     4,294,967,295
5746            timeouts : tcp_time_wait optional   integer,   in   range   0   to
5747                                     4,294,967,295
5748            timeouts : tcp_close     optional   integer,   in   range   0   to
5749                                     4,294,967,295
5750            timeouts : tcp_syn_sent2 optional   integer,   in   range   0   to
5751                                     4,294,967,295
5752            timeouts : tcp_retransmit
5753                                     optional   integer,   in   range   0   to
5754                                     4,294,967,295
5755            timeouts : tcp_unack     optional   integer,   in   range   0   to
5756                                     4,294,967,295
5757         UDP Timeouts:
5758            timeouts : udp_first     optional   integer,   in   range   0   to
5759                                     4,294,967,295
5760            timeouts : udp_single    optional   integer,   in   range   0   to
5761                                     4,294,967,295
5762            timeouts : udp_multiple  optional   integer,   in   range   0   to
5763                                     4,294,967,295
5764         ICMP Timeouts:
5765            timeouts : icmp_first    optional   integer,   in   range   0   to
5766                                     4,294,967,295
5767            timeouts : icmp_reply    optional   integer,   in   range   0   to
5768                                     4,294,967,295
5769       Common Columns:
5770         external_ids                map of string-string pairs
5771
5772   Details:
5773     Timeouts:
5774
5775       timeouts: map of string-integer pairs, key one of icmp_first,  icmp_re‐
5776       ply,    tcp_close,   tcp_close_wait,   tcp_established,   tcp_fin_wait,
5777       tcp_last_ack,     tcp_retransmit,     tcp_syn_recv,      tcp_syn_sent2,
5778       tcp_syn_sent,  tcp_time_wait,  tcp_unack,  udp_first,  udp_multiple, or
5779       udp_single, value in range 0 to 4,294,967,295
5780              The timeouts column contains key-value pairs used  to  configure
5781              connection tracking timeouts in a datapath. Key-value pairs that
5782              are not supported by a datapath are ignored. The  timeout  value
5783              is in seconds.
5784
5785     TCP Timeouts:
5786
5787       timeouts : tcp_syn_sent: optional integer, in range 0 to 4,294,967,295
5788              The  timeout  for  the connection after the first TCP SYN packet
5789              has been seen by conntrack.
5790
5791       timeouts : tcp_syn_recv: optional integer, in range 0 to 4,294,967,295
5792              The timeout of the connection after the first TCP SYN-ACK packet
5793              has been seen by conntrack.
5794
5795       timeouts   :   tcp_established:   optional   integer,  in  range  0  to
5796       4,294,967,295
5797              The timeout of the connection  after  the  connection  has  been
5798              fully established.
5799
5800       timeouts : tcp_fin_wait: optional integer, in range 0 to 4,294,967,295
5801              The timeout of the connection after the first TCP FIN packet has
5802              been seen by conntrack.
5803
5804       timeouts  :  tcp_close_wait:  optional   integer,   in   range   0   to
5805       4,294,967,295
5806              The timeout of the connection after the first TCP ACK packet has
5807              been seen after it receives TCP FIN packet. This timeout is only
5808              supported by the Linux kernel datapath.
5809
5810       timeouts : tcp_last_ack: optional integer, in range 0 to 4,294,967,295
5811              The  timeout  of  the connection after TCP FIN packets have been
5812              seen by conntrack from both directions.  This  timeout  is  only
5813              supported by the Linux kernel datapath.
5814
5815       timeouts : tcp_time_wait: optional integer, in range 0 to 4,294,967,295
5816              The  timeout  of the connection after conntrack has seen the TCP
5817              ACK packet for the second TCP FIN packet.
5818
5819       timeouts : tcp_close: optional integer, in range 0 to 4,294,967,295
5820              The timeout of the connection after the first TCP RST packet has
5821              been seen by conntrack.
5822
5823       timeouts : tcp_syn_sent2: optional integer, in range 0 to 4,294,967,295
5824              The  timeout  of  the  connection when only a TCP SYN packet has
5825              been seen by conntrack from both directions (simultaneous open).
5826              This timeout is only supported by the Linux kernel datapath.
5827
5828       timeouts   :   tcp_retransmit:   optional   integer,   in  range  0  to
5829       4,294,967,295
5830              The timeout of the connection when it exceeds the maximum number
5831              of  retransmissions. This timeout is only supported by the Linux
5832              kernel datapath.
5833
5834       timeouts : tcp_unack: optional integer, in range 0 to 4,294,967,295
5835              The timeout of the connection when non-SYN packets create an es‐
5836              tablished connection in TCP loose tracking mode. This timeout is
5837              only supported by the Linux kernel datapath.
5838
5839     UDP Timeouts:
5840
5841       timeouts : udp_first: optional integer, in range 0 to 4,294,967,295
5842              The timeout of the connection after the  first  UDP  packet  has
5843              been  seen  by  conntrack. This timeout is only supported by the
5844              userspace datapath.
5845
5846       timeouts : udp_single: optional integer, in range 0 to 4,294,967,295
5847              The timeout of the  connection  when  conntrack  only  seen  UDP
5848              packet  from the source host, but the destination host has never
5849              sent one back.
5850
5851       timeouts : udp_multiple: optional integer, in range 0 to 4,294,967,295
5852              The timeout of the connection when UDP packets have been seen in
5853              both directions.
5854
5855     ICMP Timeouts:
5856
5857       timeouts : icmp_first: optional integer, in range 0 to 4,294,967,295
5858              The  timeout  of  the connection after the first ICMP packet has
5859              been seen by conntrack.
5860
5861       timeouts : icmp_reply: optional integer, in range 0 to 4,294,967,295
5862              The timeout of the connection when ICMP packets have  been  seen
5863              in  both  direction.  This  timeout  is  only  supported  by the
5864              userspace datapath.
5865
5866     Common Columns:
5867
5868       The overall purpose of these columns is described under Common  Columns
5869       at the beginning of this document.
5870
5871       external_ids: map of string-string pairs
5872

SSL TABLE

5874       SSL configuration for an Open_vSwitch.
5875
5876   Summary:
5877       private_key                   string
5878       certificate                   string
5879       ca_cert                       string
5880       bootstrap_ca_cert             boolean
5881       Common Columns:
5882         external_ids                map of string-string pairs
5883
5884   Details:
5885       private_key: string
5886              Name  of  a  PEM  file  containing  the  private key used as the
5887              switch’s identity for SSL connections to the controller.
5888
5889       certificate: string
5890              Name of a PEM file containing a certificate, signed by the  cer‐
5891              tificate authority (CA) used by the controller and manager, that
5892              certifies the switch’s private key,  identifying  a  trustworthy
5893              switch.
5894
5895       ca_cert: string
5896              Name  of a PEM file containing the CA certificate used to verify
5897              that the switch is connected to a trustworthy controller.
5898
5899       bootstrap_ca_cert: boolean
5900              If set to true, then Open vSwitch will attempt to obtain the  CA
5901              certificate  from the controller on its first SSL connection and
5902              save it to the named PEM file. If it is successful, it will  im‐
5903              mediately  drop  the  connection and reconnect, and from then on
5904              all SSL connections  must  be  authenticated  by  a  certificate
5905              signed  by the CA certificate thus obtained. This option exposes
5906              the SSL connection to a man-in-the-middle attack  obtaining  the
5907              initial  CA  certificate.  It may still be useful for bootstrap‐
5908              ping.
5909
5910     Common Columns:
5911
5912       The overall purpose of these columns is described under Common  Columns
5913       at the beginning of this document.
5914
5915       external_ids: map of string-string pairs
5916

sFlow TABLE

5918       A set of sFlow(R) targets. sFlow is a protocol for remote monitoring of
5919       switches.
5920
5921   Summary:
5922       agent                         optional string
5923       header                        optional integer
5924       polling                       optional integer
5925       sampling                      optional integer
5926       targets                       set of 1 or more strings
5927       Common Columns:
5928         external_ids                map of string-string pairs
5929
5930   Details:
5931       agent: optional string
5932              Determines the agent address, that is, the IP  address  reported
5933              to  collectors  as the source of the sFlow data. It may be an IP
5934              address or the name of a network device. In the latter case, the
5935              network device’s IP address is used,
5936
5937              If  not  specified,  the  agent device is figured from the first
5938              target address and the routing table. If the routing table  does
5939              not  contain  a  route to the target, the IP address defaults to
5940              the local_ip in the collector’s Controller.
5941
5942              If an agent IP address cannot be determined, sFlow is disabled.
5943
5944       header: optional integer
5945              Number of bytes of a sampled packet to send to the collector. If
5946              not specified, the default is 128 bytes.
5947
5948       polling: optional integer
5949              Polling  rate  in seconds to send port statistics to the collec‐
5950              tor. If not specified, defaults to 30 seconds.
5951
5952       sampling: optional integer
5953              Rate at which packets should be sampled and sent to the  collec‐
5954              tor.  If  not specified, defaults to 400, which means one out of
5955              400 packets, on average, will be sent to the collector.
5956
5957       targets: set of 1 or more strings
5958              sFlow targets in the form ip:port.
5959
5960     Common Columns:
5961
5962       The overall purpose of these columns is described under Common  Columns
5963       at the beginning of this document.
5964
5965       external_ids: map of string-string pairs
5966

IPFIX TABLE

5968       Configuration for sending packets to IPFIX collectors.
5969
5970       IPFIX  is  a protocol that exports a number of details about flows. The
5971       IPFIX implementation in Open vSwitch samples packets at a  configurable
5972       rate,  extracts  flow information from those packets, optionally caches
5973       and aggregates the flow information, and sends the  result  to  one  or
5974       more collectors.
5975
5976       IPFIX in Open vSwitch can be configured two different ways:
5977
5978              •      With  per-bridge  sampling,  Open  vSwitch performs IPFIX
5979                     sampling automatically on all packets that pass through a
5980                     bridge. To configure per-bridge sampling, create an IPFIX
5981                     record and point a Bridge table’s ipfix column to it. The
5982                     Flow_Sample_Collector_Set  table  is  not  used  for per-
5983                     bridge sampling.
5984
5985              •      With flow-based sampling, sample actions in the  OpenFlow
5986                     flow table drive IPFIX sampling. See ovs-actions(7) for a
5987                     description of the sample action.
5988
5989                     Flow-based sampling also requires database configuration:
5990                     create a IPFIX record that describes the IPFIX configura‐
5991                     tion and a Flow_Sample_Collector_Set record  that  points
5992                     to  the  Bridge whose flow table holds the sample actions
5993                     and to IPFIX record. The ipfix in the Bridge table is not
5994                     used for flow-based sampling.
5995
5996   Summary:
5997       targets                       set of strings
5998       cache_active_timeout          optional integer, in range 0 to 4,200
5999       cache_max_flows               optional   integer,   in   range   0   to
6000                                     4,294,967,295
6001       stats_interval                optional integer, in range 1 to 3,600
6002       template_interval             optional integer, in range 1 to 3,600
6003       other_config : enable-tunnel-sampling
6004                                     optional string, either true or false
6005       other_config : virtual_obs_id optional string
6006       Per-Bridge Sampling:
6007         sampling                    optional   integer,   in   range   1   to
6008                                     4,294,967,295
6009         obs_domain_id               optional   integer,   in   range   0   to
6010                                     4,294,967,295
6011         obs_point_id                optional   integer,   in   range   0   to
6012                                     4,294,967,295
6013         other_config : enable-input-sampling
6014                                     optional string, either true or false
6015         other_config : enable-output-sampling
6016                                     optional string, either true or false
6017       Common Columns:
6018         external_ids                map of string-string pairs
6019
6020   Details:
6021       targets: set of strings
6022              IPFIX target collectors in the form ip:port.
6023
6024       cache_active_timeout: optional integer, in range 0 to 4,200
6025              The  maximum period in seconds for which an IPFIX flow record is
6026              cached and aggregated before being sent. If not  specified,  de‐
6027              faults to 0. If 0, caching is disabled.
6028
6029       cache_max_flows: optional integer, in range 0 to 4,294,967,295
6030              The maximum number of IPFIX flow records that can be cached at a
6031              time. If not specified, defaults to 0. If  0,  caching  is  dis‐
6032              abled.
6033
6034       stats_interval: optional integer, in range 1 to 3,600
6035              Interval  (in  seconds) for sending IPFIX exporting process sta‐
6036              tistics according to IETF RFC 5101 Section 4.3.
6037
6038              Default value is 600
6039
6040       template_interval: optional integer, in range 1 to 3,600
6041              Interval (in seconds) for sending IPFIX Template information for
6042              each Observation Domain ID.
6043
6044              Default value is 600
6045
6046       other_config  : enable-tunnel-sampling: optional string, either true or
6047       false
6048              Set to true to enable sampling and reporting tunnel header 7-tu‐
6049              ples  in  IPFIX  flow records. Tunnel sampling is enabled by de‐
6050              fault.
6051
6052              The following enterprise  entities  report  the  sampled  tunnel
6053              info:
6054
6055              tunnelType:
6056                     ID: 891, and enterprise ID 6876 (VMware).
6057
6058                     type: unsigned 8-bit integer.
6059
6060                     data type semantics: identifier.
6061
6062                     description:  Identifier  of  the layer 2 network overlay
6063                     network encapsulation type: 0x01 VxLAN,  0x02  GRE,  0x03
6064                     LISP, 0x07 GENEVE.
6065
6066              tunnelKey:
6067                     ID: 892, and enterprise ID 6876 (VMware).
6068
6069                     type: variable-length octetarray.
6070
6071                     data type semantics: identifier.
6072
6073                     description:  Key  which is used for identifying an indi‐
6074                     vidual traffic flow within a VxLAN (24-bit  VNI),  GENEVE
6075                     (24-bit  VNI), GRE (32-bit key), or LISP (24-bit instance
6076                     ID) tunnel. The key is encoded in this  octetarray  as  a
6077                     3-, 4-, or 8-byte integer ID in network byte order.
6078
6079              tunnelSourceIPv4Address:
6080                     ID: 893, and enterprise ID 6876 (VMware).
6081
6082                     type: unsigned 32-bit integer.
6083
6084                     data type semantics: identifier.
6085
6086                     description:  The  IPv4  source  address in the tunnel IP
6087                     packet header.
6088
6089              tunnelDestinationIPv4Address:
6090                     ID: 894, and enterprise ID 6876 (VMware).
6091
6092                     type: unsigned 32-bit integer.
6093
6094                     data type semantics: identifier.
6095
6096                     description: The IPv4 destination address in  the  tunnel
6097                     IP packet header.
6098
6099              tunnelProtocolIdentifier:
6100                     ID: 895, and enterprise ID 6876 (VMware).
6101
6102                     type: unsigned 8-bit integer.
6103
6104                     data type semantics: identifier.
6105
6106                     description: The value of the protocol number in the tun‐
6107                     nel IP packet header. The protocol number identifies  the
6108                     tunnel IP packet payload type.
6109
6110              tunnelSourceTransportPort:
6111                     ID: 896, and enterprise ID 6876 (VMware).
6112
6113                     type: unsigned 16-bit integer.
6114
6115                     data type semantics: identifier.
6116
6117                     description:  The  source  port  identifier in the tunnel
6118                     transport header. For the transport protocols  UDP,  TCP,
6119                     and SCTP, this is the source port number given in the re‐
6120                     spective header.
6121
6122              tunnelDestinationTransportPort:
6123                     ID: 897, and enterprise ID 6876 (VMware).
6124
6125                     type: unsigned 16-bit integer.
6126
6127                     data type semantics: identifier.
6128
6129                     description: The destination port identifier in the  tun‐
6130                     nel  transport  header.  For the transport protocols UDP,
6131                     TCP, and SCTP, this is the destination port number  given
6132                     in the respective header.
6133
6134              Before  Open vSwitch 2.5.90, other_config:enable-tunnel-sampling
6135              was only supported with per-bridge sampling, and ignored  other‐
6136              wise. Open vSwitch 2.5.90 and later support other_config:enable-
6137              tunnel-sampling for per-bridge and per-flow sampling.
6138
6139       other_config : virtual_obs_id: optional string
6140              A string that accompanies each IPFIX flow record.  Its  intended
6141              use  is  for  the ``virtual observation ID,’’ an identifier of a
6142              virtual observation point that is locally unique  in  a  virtual
6143              network. It describes a location in the virtual network where IP
6144              packets can be observed. The maximum length is 254 bytes. If not
6145              specified, the field is omitted from the IPFIX flow record.
6146
6147              The  following  enterprise  entity reports the specified virtual
6148              observation ID:
6149
6150              virtualObsID:
6151                     ID: 898, and enterprise ID 6876 (VMware).
6152
6153                     type: variable-length string.
6154
6155                     data type semantics: identifier.
6156
6157                     description: A virtual observation domain ID that is  lo‐
6158                     cally unique in a virtual network.
6159
6160              This feature was introduced in Open vSwitch 2.5.90.
6161
6162     Per-Bridge Sampling:
6163
6164       These  values affect only per-bridge sampling. See above for a descrip‐
6165       tion of the differences between per-bridge and flow-based sampling.
6166
6167       sampling: optional integer, in range 1 to 4,294,967,295
6168              The rate at which packets should be sampled  and  sent  to  each
6169              target collector. If not specified, defaults to 400, which means
6170              one out of 400 packets, on average, will be sent to each  target
6171              collector.
6172
6173       obs_domain_id: optional integer, in range 0 to 4,294,967,295
6174              The  IPFIX  Observation  Domain ID sent in each IPFIX packet. If
6175              not specified, defaults to 0.
6176
6177       obs_point_id: optional integer, in range 0 to 4,294,967,295
6178              The IPFIX Observation Point ID sent in each IPFIX  flow  record.
6179              If not specified, defaults to 0.
6180
6181       other_config  :  enable-input-sampling: optional string, either true or
6182       false
6183              By default, Open vSwitch samples and  reports  flows  at  bridge
6184              port  input  in  IPFIX flow records. Set this column to false to
6185              disable input sampling.
6186
6187       other_config : enable-output-sampling: optional string, either true  or
6188       false
6189              By  default,  Open  vSwitch  samples and reports flows at bridge
6190              port output in IPFIX flow records. Set this column to  false  to
6191              disable output sampling.
6192
6193     Common Columns:
6194
6195       The  overall purpose of these columns is described under Common Columns
6196       at the beginning of this document.
6197
6198       external_ids: map of string-string pairs
6199

Flow_Sample_Collector_Set TABLE

6201       A set of IPFIX collectors of packet samples generated by OpenFlow  sam‐
6202       ple actions. This table is used only for IPFIX flow-based sampling, not
6203       for per-bridge sampling (see the IPFIX table for a description  of  the
6204       two forms).
6205
6206   Summary:
6207       id                            integer, in range 0 to 4,294,967,295
6208       bridge                        Bridge
6209       ipfix                         optional IPFIX
6210       Common Columns:
6211         external_ids                map of string-string pairs
6212
6213   Details:
6214       id: integer, in range 0 to 4,294,967,295
6215              The  ID of this collector set, unique among the bridge’s collec‐
6216              tor sets, to be used as the collector_set_id in OpenFlow  sample
6217              actions.
6218
6219       bridge: Bridge
6220              The  bridge  into  which OpenFlow sample actions can be added to
6221              send packet samples to this set of IPFIX collectors.
6222
6223       ipfix: optional IPFIX
6224              Configuration of the set of IPFIX collectors to  send  one  flow
6225              record per sampled packet to.
6226
6227     Common Columns:
6228
6229       The  overall purpose of these columns is described under Common Columns
6230       at the beginning of this document.
6231
6232       external_ids: map of string-string pairs
6233

AutoAttach TABLE

6235       Auto Attach configuration within a bridge. The  IETF  Auto-Attach  SPBM
6236       draft  standard  describes  a compact method of using IEEE 802.1AB Link
6237       Layer Discovery Protocol (LLDP) together with a IEEE  802.1aq  Shortest
6238       Path  Bridging (SPB) network to automatically attach network devices to
6239       individual services in a SPB network. The intent here is to allow  net‐
6240       work  applications  and devices using OVS to be able to easily take ad‐
6241       vantage of features offered by industry standard SPB networks.
6242
6243       Auto Attach (AA) uses LLDP to communicate between a directly  connected
6244       Auto  Attach Client (AAC) and Auto Attach Server (AAS). The LLDP proto‐
6245       col is extended to add two new  Type-Length-Value  tuples  (TLVs).  The
6246       first  new  TLV supports the ongoing discovery of directly connected AA
6247       correspondents. Auto Attach operates by regularly transmitting AA  dis‐
6248       covery  TLVs  between  the AA client and AA server. By exchanging these
6249       discovery messages, both the AAC and AAS learn the system name and sys‐
6250       tem  description of their peer. In the OVS context, OVS operates as the
6251       AA client and the AA server resides on a switch at the edge of the  SPB
6252       network.
6253
6254       Once  AA  discovery has been completed the AAC then uses the second new
6255       TLV to deliver identifier mappings from the AAC to the AAS.  A  primary
6256       feature  of  Auto  Attach is to facilitate the mapping of VLANs defined
6257       outside the SPB network onto service ids (ISIDs) defined within the SPM
6258       network.  By doing so individual external VLANs can be mapped onto spe‐
6259       cific SPB network services. These VLAN id to ISID mappings can be  con‐
6260       figured  and  managed  locally using new options added to the ovs-vsctl
6261       command.
6262
6263       The Auto Attach OVS feature does not provide a full  implementation  of
6264       the  LLDP  protocol.  Support  for the mandatory TLVs as defined by the
6265       LLDP standard and support for the AA TLV extensions is  provided.  LLDP
6266       protocol  support  in  OVS can be enabled or disabled on a port by port
6267       basis. LLDP support is disabled by default.
6268
6269   Summary:
6270       system_name                   string
6271       system_description            string
6272       mappings                      map  of  integer-integer  pairs,  key  in
6273                                     range  0  to 16,777,215, value in range 0
6274                                     to 4,095
6275
6276   Details:
6277       system_name: string
6278              The system_name string is exported in LLDP messages.  It  should
6279              uniquely identify the bridge in the network.
6280
6281       system_description: string
6282              The  system_description  string is exported in LLDP messages. It
6283              should describe the type of software and hardware.
6284
6285       mappings: map of integer-integer pairs, key in range 0  to  16,777,215,
6286       value in range 0 to 4,095
6287              A  mapping from SPB network Individual Service Identifier (ISID)
6288              to VLAN id.
6289
6290
6291
6292Open vSwitch 3.2.0              DB Schema 8.4.0        ovs-vswitchd.conf.db(5)
Impressum