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

Bridge TABLE

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

Port TABLE

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

Interface TABLE

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

Flow_Table TABLE

3953       Configuration for a particular OpenFlow table.
3954
3955   Summary:
3956       name                          optional string
3957       Eviction Policy:
3958         flow_limit                  optional integer, at least 0
3959         overflow_policy             optional string, either evict or refuse
3960         groups                      set of strings
3961       Classifier Optimization:
3962         prefixes                    set of up to 3 strings
3963       Common Columns:
3964         external_ids                map of string-string pairs
3965
3966   Details:
3967       name: optional string
3968              The  table’s  name. Set this column to change the name that con‐
3969              trollers will receive when they request table  statistics,  e.g.
3970              ovs-ofctl dump-tables. The name does not affect switch behavior.
3971
3972     Eviction Policy:
3973
3974       Open  vSwitch  supports  limiting  the  number of flows that may be in‐
3975       stalled in a flow table, via the flow_limit column. When adding a  flow
3976       would  exceed this limit, by default Open vSwitch reports an error, but
3977       there are  two  ways  to  configure  Open  vSwitch  to  instead  delete
3978       (``evict’’) a flow to make room for the new one:
3979
3980              •      Set the overflow_policy column to evict.
3981
3982              •      Send  an  OpenFlow  1.4+  ``table mod request’’ to enable
3983                     eviction for the flow table (e.g. ovs-ofctl -O OpenFlow14
3984                     mod-table  br0 0 evict to enable eviction on flow table 0
3985                     of bridge br0).
3986
3987       When a flow must be evicted due to overflow, the flow to evict is  cho‐
3988       sen through an approximation of the following algorithm. This algorithm
3989       is used regardless of how eviction was enabled:
3990
3991              1.  Divide the flows in the table into groups based on the  val‐
3992                  ues  of the fields or subfields specified in the groups col‐
3993                  umn, so that all of the flows in a given group have the same
3994                  values  for those fields. If a flow does not specify a given
3995                  field, that field’s value is treated  as  0.  If  groups  is
3996                  empty,  then  all of the flows in the flow table are treated
3997                  as a single group.
3998
3999              2.  Consider the flows in the largest group, that is, the  group
4000                  that  contains  the greatest number of flows. If two or more
4001                  groups all have the same largest number of  flows,  consider
4002                  the flows in all of those groups.
4003
4004              3.  If  the  flows under consideration have different importance
4005                  values, eliminate from consideration any flows except  those
4006                  with  the lowest importance. (``Importance,’’ a 16-bit inte‐
4007                  ger value attached to each flow, was introduced in  OpenFlow
4008                  1.4.  Flows  inserted with older versions of OpenFlow always
4009                  have an importance of 0.)
4010
4011              4.  Among the flows under consideration, choose  the  flow  that
4012                  expires soonest for eviction.
4013
4014       The  eviction process only considers flows that have an idle timeout or
4015       a hard timeout. That is, eviction never deletes permanent flows.  (Per‐
4016       manent flows do count against flow_limit.)
4017
4018       flow_limit: optional integer, at least 0
4019              If  set, limits the number of flows that may be added to the ta‐
4020              ble. Open vSwitch may limit the number of flows in a  table  for
4021              other  reasons, e.g. due to hardware limitations or for resource
4022              availability or performance reasons.
4023
4024       overflow_policy: optional string, either evict or refuse
4025              Controls the switch’s behavior when an OpenFlow flow table modi‐
4026              fication  request  would  add flows in excess of flow_limit. The
4027              supported values are:
4028
4029              refuse Refuse to add the flow or flows. This is also the default
4030                     policy when overflow_policy is unset.
4031
4032              evict  Delete a flow chosen according to the algorithm described
4033                     above.
4034
4035       groups: set of strings
4036              When overflow_policy is evict, this controls how flows are  cho‐
4037              sen  for  eviction  when  the  flow table would otherwise exceed
4038              flow_limit flows. Its value is a  set  of  NXM  fields  or  sub-
4039              fields,  each  of  which  takes  one  of  the  forms  field[] or
4040              field[start..end], e.g. NXM_OF_IN_PORT[]. Please see meta-flow.h
4041              for a complete list of NXM field names.
4042
4043              Open  vSwitch  ignores  any  invalid or unknown field specifica‐
4044              tions.
4045
4046              When eviction is not enabled, via overflow_policy or an OpenFlow
4047              1.4+ ``table mod,’’ this column has no effect.
4048
4049     Classifier Optimization:
4050
4051       prefixes: set of up to 3 strings
4052              This  string  set  specifies which fields should be used for ad‐
4053              dress prefix tracking. Prefix tracking allows the classifier  to
4054              skip  rules  with  longer  than necessary prefixes, resulting in
4055              better wildcarding for datapath flows.
4056
4057              Prefix tracking may be beneficial when  a  flow  table  contains
4058              matches  on IP address fields with different prefix lengths. For
4059              example, when a flow table contains IP address matches  on  both
4060              full  addresses  and  proper  prefixes, the full address matches
4061              will typically cause the datapath flow to un-wildcard the  whole
4062              address field (depending on flow entry priorities). In this case
4063              each  packet  with  a  different  address  gets  handed  to  the
4064              userspace  for  flow  processing  and generates its own datapath
4065              flow. With prefix tracking enabled  for  the  address  field  in
4066              question  packets with addresses matching shorter prefixes would
4067              generate datapath flows where the irrelevant  address  bits  are
4068              wildcarded,  allowing  the  same datapath flow to handle all the
4069              packets within  the  prefix  in  question.  In  this  case  many
4070              userspace upcalls can be avoided and the overall performance can
4071              be better.
4072
4073              This is a performance optimization only, so packets will receive
4074              the same treatment with or without prefix tracking.
4075
4076              The    supported   fields   are:   tun_id,   tun_src,   tun_dst,
4077              tun_ipv6_src, tun_ipv6_dst, nw_src, nw_dst  (or  aliases  ip_src
4078              and  ip_dst),  ipv6_src,  and  ipv6_dst. (Using this feature for
4079              tun_id would only make sense  if  the  tunnel  IDs  have  prefix
4080              structure similar to IP addresses.)
4081
4082              By default, the prefixes=ip_dst,ip_src are used on each flow ta‐
4083              ble. This instructs the flow classifier to track the IP destina‐
4084              tion  and  source  addresses  used by the rules in this specific
4085              flow table.
4086
4087              The keyword none is recognized as an explicit  override  of  the
4088              default values, causing no prefix fields to be tracked.
4089
4090              To set the prefix fields, the flow table record needs to exist:
4091
4092              ovs-vsctl  set  Bridge  br0 flow_tables:0=@N1 -- --id=@N1 create
4093              Flow_Table name=table0
4094                     Creates a flow table record for the OpenFlow table number
4095                     0.
4096
4097              ovs-vsctl set Flow_Table table0 prefixes=ip_dst,ip_src
4098                     Enables prefix tracking for IP source and destination ad‐
4099                     dress fields.
4100
4101              There is a maximum number of fields that can be enabled for  any
4102              one flow table. Currently this limit is 3.
4103
4104     Common Columns:
4105
4106       The  overall purpose of these columns is described under Common Columns
4107       at the beginning of this document.
4108
4109       external_ids: map of string-string pairs
4110

QoS TABLE

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

Queue TABLE

4330       A configuration for a port output queue, used in configuring Quality of
4331       Service  (QoS)  features. May be referenced by queues column in QoS ta‐
4332       ble.
4333
4334   Summary:
4335       dscp                          optional integer, in range 0 to 63
4336       Configuration for linux-htb QoS:
4337         other_config : min-rate     optional string, containing  an  integer,
4338                                     at least 1
4339         other_config : max-rate     optional  string,  containing an integer,
4340                                     at least 1
4341         other_config : burst        optional string, containing  an  integer,
4342                                     at least 1
4343         other_config : priority     optional  string,  containing an integer,
4344                                     in range 0 to 4,294,967,295
4345       Configuration for linux-hfsc QoS:
4346         other_config : min-rate     optional string, containing  an  integer,
4347                                     at least 1
4348         other_config : max-rate     optional  string,  containing an integer,
4349                                     at least 1
4350       Common Columns:
4351         other_config                map of string-string pairs
4352         external_ids                map of string-string pairs
4353
4354   Details:
4355       dscp: optional integer, in range 0 to 63
4356              If set, Open vSwitch will mark all traffic egressing this  Queue
4357              with the given DSCP bits. Traffic egressing the default Queue is
4358              only marked if it was explicitly selected as the  Queue  at  the
4359              time  the  packet was output. If unset, the DSCP bits of traffic
4360              egressing this Queue will remain unchanged.
4361
4362     Configuration for linux-htb QoS:
4363
4364       QoS type linux-htb may use queue_ids less than 61440. It has  the  fol‐
4365       lowing key-value pairs defined.
4366
4367       other_config  :  min-rate:  optional  string, containing an integer, at
4368       least 1
4369              Minimum guaranteed bandwidth, in bit/s.
4370
4371       other_config : max-rate: optional string,  containing  an  integer,  at
4372       least 1
4373              Maximum allowed bandwidth, in bit/s. Optional. If specified, the
4374              queue’s rate will not be allowed to exceed the specified  value,
4375              even  if excess bandwidth is available. If unspecified, defaults
4376              to no limit.
4377
4378       other_config : burst: optional string, containing an integer, at  least
4379       1
4380              Burst  size,  in bits. This is the maximum amount of ``credits’’
4381              that a queue can accumulate while it is idle. Optional.  Details
4382              of the linux-htb implementation require a minimum burst size, so
4383              a too-small burst will be silently ignored.
4384
4385       other_config : priority: optional string,  containing  an  integer,  in
4386       range 0 to 4,294,967,295
4387              A  queue  with  a  smaller  priority will receive all the excess
4388              bandwidth that it can use before a queue with a larger value re‐
4389              ceives any. Specific priority values are unimportant; only rela‐
4390              tive ordering matters. Defaults to 0 if unspecified.
4391
4392     Configuration for linux-hfsc QoS:
4393
4394       QoS type linux-hfsc may use queue_ids less than 61440. It has the  fol‐
4395       lowing key-value pairs defined.
4396
4397       other_config  :  min-rate:  optional  string, containing an integer, at
4398       least 1
4399              Minimum guaranteed bandwidth, in bit/s.
4400
4401       other_config : max-rate: optional string,  containing  an  integer,  at
4402       least 1
4403              Maximum allowed bandwidth, in bit/s. Optional. If specified, the
4404              queue’s rate will not be allowed to exceed the specified  value,
4405              even  if excess bandwidth is available. If unspecified, defaults
4406              to no limit.
4407
4408     Common Columns:
4409
4410       The overall purpose of these columns is described under Common  Columns
4411       at the beginning of this document.
4412
4413       other_config: map of string-string pairs
4414
4415       external_ids: map of string-string pairs
4416

Mirror TABLE

4418       A port mirror within a Bridge.
4419
4420       A  port  mirror  configures a bridge to send selected frames to special
4421       ``mirrored’’ ports, in addition to their normal destinations. Mirroring
4422       traffic  may also be referred to as SPAN or RSPAN, depending on how the
4423       mirrored traffic is sent.
4424
4425       When a packet enters an Open vSwitch bridge, it  becomes  eligible  for
4426       mirroring  based  on  its  ingress port and VLAN. As the packet travels
4427       through the flow tables, each time it is output to a port,  it  becomes
4428       eligible  for  mirroring  based  on  the  egress port and VLAN. In Open
4429       vSwitch 2.5 and later, mirroring occurs just after a packet  first  be‐
4430       comes  eligible,  using  the packet as it exists at that point; in Open
4431       vSwitch 2.4 and earlier, mirroring occurs only after a packet has  tra‐
4432       versed all the flow tables, using the original packet as it entered the
4433       bridge. This makes a difference only when the flow table  modifies  the
4434       packet:  in  Open  vSwitch  2.4, the modifications are never visible to
4435       mirrors, whereas in Open vSwitch 2.5 and later modifications  made  be‐
4436       fore the first output that makes it eligible for mirroring to a partic‐
4437       ular destination are visible.
4438
4439       A packet that enters an Open vSwitch bridge is mirrored to a particular
4440       destination only once, even if it is eligible for multiple reasons. For
4441       example, a packet would be mirrored to a  particular  output_port  only
4442       once,  even  if  it  is  selected  for  mirroring  to  that port by se‐
4443       lect_dst_port and select_src_port  in  the  same  or  different  Mirror
4444       records.
4445
4446   Summary:
4447       name                          string
4448       Selecting Packets for Mirroring:
4449         select_all                  boolean
4450         select_dst_port             set of weak reference to Ports
4451         select_src_port             set of weak reference to Ports
4452         select_vlan                 set  of  up to 4,096 integers, in range 0
4453                                     to 4,095
4454       Mirroring Destination Configuration:
4455         output_port                 optional weak reference to Port
4456         output_vlan                 optional integer, in range 1 to 4,095
4457         snaplen                     optional integer, in range 14 to 65,535
4458       Statistics: Mirror counters:
4459         statistics : tx_packets     optional integer
4460         statistics : tx_bytes       optional integer
4461       Common Columns:
4462         external_ids                map of string-string pairs
4463
4464   Details:
4465       name: string
4466              Arbitrary identifier for the Mirror.
4467
4468     Selecting Packets for Mirroring:
4469
4470       To be selected for mirroring, a given packet must enter  or  leave  the
4471       bridge  through  a  selected port and it must also be in one of the se‐
4472       lected VLANs.
4473
4474       select_all: boolean
4475              If true, every packet arriving or departing on any port  is  se‐
4476              lected for mirroring.
4477
4478       select_dst_port: set of weak reference to Ports
4479              Ports on which departing packets are selected for mirroring.
4480
4481       select_src_port: set of weak reference to Ports
4482              Ports on which arriving packets are selected for mirroring.
4483
4484       select_vlan: set of up to 4,096 integers, in range 0 to 4,095
4485              VLANs  on which packets are selected for mirroring. An empty set
4486              selects packets on all VLANs.
4487
4488     Mirroring Destination Configuration:
4489
4490       These columns are mutually exclusive.  Exactly  one  of  them  must  be
4491       nonempty.
4492
4493       output_port: optional weak reference to Port
4494              Output port for selected packets, if nonempty.
4495
4496              Specifying  a  port  for mirror output reserves that port exclu‐
4497              sively for mirroring. No frames other than  those  selected  for
4498              mirroring via this column will be forwarded to the port, and any
4499              frames received on the port will be discarded.
4500
4501              The output port may be  any  kind  of  port  supported  by  Open
4502              vSwitch.  It  may  be,  for  example, a physical port (sometimes
4503              called SPAN) or a GRE tunnel.
4504
4505       output_vlan: optional integer, in range 1 to 4,095
4506              Output VLAN for selected packets, if nonempty.
4507
4508              The frames will be sent out all ports that trunk output_vlan, as
4509              well  as  any  ports with implicit VLAN output_vlan. When a mir‐
4510              rored frame is sent out a trunk port, the frame’s VLAN tag  will
4511              be  set  to  output_vlan, replacing any existing tag; when it is
4512              sent out an implicit VLAN port, the frame will  not  be  tagged.
4513              This type of mirroring is sometimes called RSPAN.
4514
4515              See  the  documentation for other_config:forward-bpdu in the In‐
4516              terface table for a list of destination MAC addresses which will
4517              not  be  mirrored to a VLAN to avoid confusing switches that in‐
4518              terpret the protocols that they represent.
4519
4520              Please note: Mirroring to a VLAN can disrupt a network that con‐
4521              tains  unmanaged switches. Consider an unmanaged physical switch
4522              with two ports: port 1, connected to an end host,  and  port  2,
4523              connected to an Open vSwitch configured to mirror received pack‐
4524              ets into VLAN 123 on port 2. Suppose that the end host  sends  a
4525              packet  on  port  1 that the physical switch forwards to port 2.
4526              The Open vSwitch forwards this packet  to  its  destination  and
4527              then  reflects  it  back  on  port 2 in VLAN 123. This reflected
4528              packet causes the unmanaged physical switch to replace  the  MAC
4529              learning  table  entry,  which correctly pointed to port 1, with
4530              one that incorrectly points to port 2. Afterward,  the  physical
4531              switch will direct packets destined for the end host to the Open
4532              vSwitch on port 2, instead of to the end host on  port  1,  dis‐
4533              rupting  connectivity. If mirroring to a VLAN is desired in this
4534              scenario, then the physical switch must be replaced by one  that
4535              learns  Ethernet  addresses  on  a  per-VLAN basis. In addition,
4536              learning should be disabled  on  the  VLAN  containing  mirrored
4537              traffic.  If  this  is  not done then intermediate switches will
4538              learn the MAC address of each end host from the  mirrored  traf‐
4539              fic.  If  packets being sent to that end host are also mirrored,
4540              then they will be dropped since the switch will attempt to  send
4541              them  out  the  input port. Disabling learning for the VLAN will
4542              cause the switch to correctly send the packet out all ports con‐
4543              figured  for  that VLAN. If Open vSwitch is being used as an in‐
4544              termediate switch, learning can be disabled by adding  the  mir‐
4545              rored VLAN to flood_vlans in the appropriate Bridge table or ta‐
4546              bles.
4547
4548              Mirroring to a GRE tunnel has fewer caveats than mirroring to  a
4549              VLAN and should generally be preferred.
4550
4551       snaplen: optional integer, in range 14 to 65,535
4552              Maximum per-packet number of bytes to mirror.
4553
4554              A  mirrored  packet  with size larger than snaplen will be trun‐
4555              cated in datapath to snaplen bytes before sending to the  mirror
4556              output port. If omitted, packets are not truncated.
4557
4558     Statistics: Mirror counters:
4559
4560       Key-value  pairs  that  report  mirror statistics. The update period is
4561       controlled by other_config:stats-update-interval  in  the  Open_vSwitch
4562       table.
4563
4564       statistics : tx_packets: optional integer
4565              Number of packets transmitted through this mirror.
4566
4567       statistics : tx_bytes: optional integer
4568              Number of bytes transmitted through this mirror.
4569
4570     Common Columns:
4571
4572       The  overall purpose of these columns is described under Common Columns
4573       at the beginning of this document.
4574
4575       external_ids: map of string-string pairs
4576

Controller TABLE

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

Manager TABLE

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

NetFlow TABLE

5237       A  NetFlow  target.  NetFlow is a protocol that exports a number of de‐
5238       tails about terminating IP flows, such as the principals  involved  and
5239       duration.
5240
5241   Summary:
5242       targets                       set of 1 or more strings
5243       engine_id                     optional integer, in range 0 to 255
5244       engine_type                   optional integer, in range 0 to 255
5245       active_timeout                integer, at least -1
5246       add_id_to_interface           boolean
5247       Common Columns:
5248         external_ids                map of string-string pairs
5249
5250   Details:
5251       targets: set of 1 or more strings
5252              NetFlow  targets  in  the form ip:port. The ip must be specified
5253              numerically, not as a DNS name.
5254
5255       engine_id: optional integer, in range 0 to 255
5256              Engine ID to use in NetFlow messages. Defaults to datapath index
5257              if not specified.
5258
5259       engine_type: optional integer, in range 0 to 255
5260              Engine type to use in NetFlow messages. Defaults to datapath in‐
5261              dex if not specified.
5262
5263       active_timeout: integer, at least -1
5264              The interval at which NetFlow records are sent  for  flows  that
5265              are  still active, in seconds. A value of 0 requests the default
5266              timeout (currently 600 seconds); a value of -1  disables  active
5267              timeouts.
5268
5269              The  NetFlow passive timeout, for flows that become inactive, is
5270              not configurable. It will vary depending  on  the  Open  vSwitch
5271              version, the forms and contents of the OpenFlow flow tables, CPU
5272              and memory usage, and network activity. A typical passive  time‐
5273              out is about a second.
5274
5275       add_id_to_interface: boolean
5276              If  this  column’s value is false, the ingress and egress inter‐
5277              face fields of NetFlow flow records are  derived  from  OpenFlow
5278              port  numbers.  When  it is true, the 7 most significant bits of
5279              these fields will be replaced by the least significant 7 bits of
5280              the engine id. This is useful because many NetFlow collectors do
5281              not expect multiple switches to be  sending  messages  from  the
5282              same  host,  so  they  do not store the engine information which
5283              could be used to disambiguate the traffic.
5284
5285              When this option is enabled, a maximum of  508  ports  are  sup‐
5286              ported.
5287
5288     Common Columns:
5289
5290       The  overall purpose of these columns is described under Common Columns
5291       at the beginning of this document.
5292
5293       external_ids: map of string-string pairs
5294

Datapath TABLE

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

CT_Zone TABLE

5629       Connection tracking zone configuration
5630
5631   Summary:
5632       timeout_policy                optional CT_Timeout_Policy
5633       Common Columns:
5634         external_ids                map of string-string pairs
5635
5636   Details:
5637       timeout_policy: optional CT_Timeout_Policy
5638              Connection  tracking  timeout policy for this zone. If a timeout
5639              policy is not specified, it defaults to the  timeout  policy  in
5640              the system.
5641
5642     Common Columns:
5643
5644       The  overall purpose of these columns is described under Common Columns
5645       at the beginning of this document.
5646
5647       external_ids: map of string-string pairs
5648

CT_Timeout_Policy TABLE

5650       Connection tracking timeout policy configuration
5651
5652   Summary:
5653       Timeouts:
5654         timeouts                    map of string-integer pairs, key  one  of
5655                                     icmp_first,     icmp_reply,    tcp_close,
5656                                     tcp_close_wait,          tcp_established,
5657                                     tcp_fin_wait,  tcp_last_ack, tcp_retrans‐
5658                                     mit,     tcp_syn_recv,     tcp_syn_sent2,
5659                                     tcp_syn_sent,  tcp_time_wait,  tcp_unack,
5660                                     udp_first, udp_multiple,  or  udp_single,
5661                                     value in range 0 to 4,294,967,295
5662         TCP Timeouts:
5663            timeouts : tcp_syn_sent  optional   integer,   in   range   0   to
5664                                     4,294,967,295
5665            timeouts : tcp_syn_recv  optional   integer,   in   range   0   to
5666                                     4,294,967,295
5667            timeouts : tcp_established
5668                                     optional   integer,   in   range   0   to
5669                                     4,294,967,295
5670            timeouts : tcp_fin_wait  optional   integer,   in   range   0   to
5671                                     4,294,967,295
5672            timeouts : tcp_close_wait
5673                                     optional   integer,   in   range   0   to
5674                                     4,294,967,295
5675            timeouts : tcp_last_ack  optional   integer,   in   range   0   to
5676                                     4,294,967,295
5677            timeouts : tcp_time_wait optional   integer,   in   range   0   to
5678                                     4,294,967,295
5679            timeouts : tcp_close     optional   integer,   in   range   0   to
5680                                     4,294,967,295
5681            timeouts : tcp_syn_sent2 optional   integer,   in   range   0   to
5682                                     4,294,967,295
5683            timeouts : tcp_retransmit
5684                                     optional   integer,   in   range   0   to
5685                                     4,294,967,295
5686            timeouts : tcp_unack     optional   integer,   in   range   0   to
5687                                     4,294,967,295
5688         UDP Timeouts:
5689            timeouts : udp_first     optional   integer,   in   range   0   to
5690                                     4,294,967,295
5691            timeouts : udp_single    optional   integer,   in   range   0   to
5692                                     4,294,967,295
5693            timeouts : udp_multiple  optional   integer,   in   range   0   to
5694                                     4,294,967,295
5695         ICMP Timeouts:
5696            timeouts : icmp_first    optional   integer,   in   range   0   to
5697                                     4,294,967,295
5698            timeouts : icmp_reply    optional   integer,   in   range   0   to
5699                                     4,294,967,295
5700       Common Columns:
5701         external_ids                map of string-string pairs
5702
5703   Details:
5704     Timeouts:
5705
5706       timeouts:  map of string-integer pairs, key one of icmp_first, icmp_re‐
5707       ply,   tcp_close,   tcp_close_wait,   tcp_established,    tcp_fin_wait,
5708       tcp_last_ack,      tcp_retransmit,     tcp_syn_recv,     tcp_syn_sent2,
5709       tcp_syn_sent, tcp_time_wait,  tcp_unack,  udp_first,  udp_multiple,  or
5710       udp_single, value in range 0 to 4,294,967,295
5711              The  timeouts  column contains key-value pairs used to configure
5712              connection tracking timeouts in a datapath. Key-value pairs that
5713              are  not  supported by a datapath are ignored. The timeout value
5714              is in seconds.
5715
5716     TCP Timeouts:
5717
5718       timeouts : tcp_syn_sent: optional integer, in range 0 to 4,294,967,295
5719              The timeout for the connection after the first  TCP  SYN  packet
5720              has been seen by conntrack.
5721
5722       timeouts : tcp_syn_recv: optional integer, in range 0 to 4,294,967,295
5723              The timeout of the connection after the first TCP SYN-ACK packet
5724              has been seen by conntrack.
5725
5726       timeouts  :  tcp_established:  optional  integer,   in   range   0   to
5727       4,294,967,295
5728              The  timeout  of  the  connection  after the connection has been
5729              fully established.
5730
5731       timeouts : tcp_fin_wait: optional integer, in range 0 to 4,294,967,295
5732              The timeout of the connection after the first TCP FIN packet has
5733              been seen by conntrack.
5734
5735       timeouts   :   tcp_close_wait:   optional   integer,   in  range  0  to
5736       4,294,967,295
5737              The timeout of the connection after the first TCP ACK packet has
5738              been seen after it receives TCP FIN packet. This timeout is only
5739              supported by the Linux kernel datapath.
5740
5741       timeouts : tcp_last_ack: optional integer, in range 0 to 4,294,967,295
5742              The timeout of the connection after TCP FIN  packets  have  been
5743              seen  by  conntrack  from  both directions. This timeout is only
5744              supported by the Linux kernel datapath.
5745
5746       timeouts : tcp_time_wait: optional integer, in range 0 to 4,294,967,295
5747              The timeout of the connection after conntrack has seen  the  TCP
5748              ACK packet for the second TCP FIN packet.
5749
5750       timeouts : tcp_close: optional integer, in range 0 to 4,294,967,295
5751              The timeout of the connection after the first TCP RST packet has
5752              been seen by conntrack.
5753
5754       timeouts : tcp_syn_sent2: optional integer, in range 0 to 4,294,967,295
5755              The timeout of the connection when only a  TCP  SYN  packet  has
5756              been seen by conntrack from both directions (simultaneous open).
5757              This timeout is only supported by the Linux kernel datapath.
5758
5759       timeouts  :  tcp_retransmit:  optional   integer,   in   range   0   to
5760       4,294,967,295
5761              The timeout of the connection when it exceeds the maximum number
5762              of retransmissions. This timeout is only supported by the  Linux
5763              kernel datapath.
5764
5765       timeouts : tcp_unack: optional integer, in range 0 to 4,294,967,295
5766              The timeout of the connection when non-SYN packets create an es‐
5767              tablished connection in TCP loose tracking mode. This timeout is
5768              only supported by the Linux kernel datapath.
5769
5770     UDP Timeouts:
5771
5772       timeouts : udp_first: optional integer, in range 0 to 4,294,967,295
5773              The  timeout  of  the  connection after the first UDP packet has
5774              been seen by conntrack. This timeout is only  supported  by  the
5775              userspace datapath.
5776
5777       timeouts : udp_single: optional integer, in range 0 to 4,294,967,295
5778              The  timeout  of  the  connection  when  conntrack only seen UDP
5779              packet from the source host, but the destination host has  never
5780              sent one back.
5781
5782       timeouts : udp_multiple: optional integer, in range 0 to 4,294,967,295
5783              The timeout of the connection when UDP packets have been seen in
5784              both directions.
5785
5786     ICMP Timeouts:
5787
5788       timeouts : icmp_first: optional integer, in range 0 to 4,294,967,295
5789              The timeout of the connection after the first  ICMP  packet  has
5790              been seen by conntrack.
5791
5792       timeouts : icmp_reply: optional integer, in range 0 to 4,294,967,295
5793              The  timeout  of the connection when ICMP packets have been seen
5794              in both  direction.  This  timeout  is  only  supported  by  the
5795              userspace datapath.
5796
5797     Common Columns:
5798
5799       The  overall purpose of these columns is described under Common Columns
5800       at the beginning of this document.
5801
5802       external_ids: map of string-string pairs
5803

SSL TABLE

5805       SSL configuration for an Open_vSwitch.
5806
5807   Summary:
5808       private_key                   string
5809       certificate                   string
5810       ca_cert                       string
5811       bootstrap_ca_cert             boolean
5812       Common Columns:
5813         external_ids                map of string-string pairs
5814
5815   Details:
5816       private_key: string
5817              Name of a PEM file  containing  the  private  key  used  as  the
5818              switch’s identity for SSL connections to the controller.
5819
5820       certificate: string
5821              Name  of a PEM file containing a certificate, signed by the cer‐
5822              tificate authority (CA) used by the controller and manager, that
5823              certifies  the  switch’s  private key, identifying a trustworthy
5824              switch.
5825
5826       ca_cert: string
5827              Name of a PEM file containing the CA certificate used to  verify
5828              that the switch is connected to a trustworthy controller.
5829
5830       bootstrap_ca_cert: boolean
5831              If  set to true, then Open vSwitch will attempt to obtain the CA
5832              certificate from the controller on its first SSL connection  and
5833              save  it to the named PEM file. If it is successful, it will im‐
5834              mediately drop the connection and reconnect, and  from  then  on
5835              all  SSL  connections  must  be  authenticated  by a certificate
5836              signed by the CA certificate thus obtained. This option  exposes
5837              the  SSL  connection to a man-in-the-middle attack obtaining the
5838              initial CA certificate. It may still be  useful  for  bootstrap‐
5839              ping.
5840
5841     Common Columns:
5842
5843       The  overall purpose of these columns is described under Common Columns
5844       at the beginning of this document.
5845
5846       external_ids: map of string-string pairs
5847

sFlow TABLE

5849       A set of sFlow(R) targets. sFlow is a protocol for remote monitoring of
5850       switches.
5851
5852   Summary:
5853       agent                         optional string
5854       header                        optional integer
5855       polling                       optional integer
5856       sampling                      optional integer
5857       targets                       set of 1 or more strings
5858       Common Columns:
5859         external_ids                map of string-string pairs
5860
5861   Details:
5862       agent: optional string
5863              Determines  the  agent address, that is, the IP address reported
5864              to collectors as the source of the sFlow data. It may be  an  IP
5865              address or the name of a network device. In the latter case, the
5866              network device’s IP address is used,
5867
5868              If not specified, the agent device is  figured  from  the  first
5869              target  address and the routing table. If the routing table does
5870              not contain a route to the target, the IP  address  defaults  to
5871              the local_ip in the collector’s Controller.
5872
5873              If an agent IP address cannot be determined, sFlow is disabled.
5874
5875       header: optional integer
5876              Number of bytes of a sampled packet to send to the collector. If
5877              not specified, the default is 128 bytes.
5878
5879       polling: optional integer
5880              Polling rate in seconds to send port statistics to  the  collec‐
5881              tor. If not specified, defaults to 30 seconds.
5882
5883       sampling: optional integer
5884              Rate  at which packets should be sampled and sent to the collec‐
5885              tor. If not specified, defaults to 400, which means one  out  of
5886              400 packets, on average, will be sent to the collector.
5887
5888       targets: set of 1 or more strings
5889              sFlow targets in the form ip:port.
5890
5891     Common Columns:
5892
5893       The  overall purpose of these columns is described under Common Columns
5894       at the beginning of this document.
5895
5896       external_ids: map of string-string pairs
5897

IPFIX TABLE

5899       Configuration for sending packets to IPFIX collectors.
5900
5901       IPFIX is a protocol that exports a number of details about  flows.  The
5902       IPFIX  implementation in Open vSwitch samples packets at a configurable
5903       rate, extracts flow information from those packets,  optionally  caches
5904       and  aggregates  the  flow  information, and sends the result to one or
5905       more collectors.
5906
5907       IPFIX in Open vSwitch can be configured two different ways:
5908
5909              •      With per-bridge sampling,  Open  vSwitch  performs  IPFIX
5910                     sampling automatically on all packets that pass through a
5911                     bridge. To configure per-bridge sampling, create an IPFIX
5912                     record and point a Bridge table’s ipfix column to it. The
5913                     Flow_Sample_Collector_Set table  is  not  used  for  per-
5914                     bridge sampling.
5915
5916              •      With  flow-based sampling, sample actions in the OpenFlow
5917                     flow table drive IPFIX sampling. See ovs-actions(7) for a
5918                     description of the sample action.
5919
5920                     Flow-based sampling also requires database configuration:
5921                     create a IPFIX record that describes the IPFIX configura‐
5922                     tion  and  a Flow_Sample_Collector_Set record that points
5923                     to the Bridge whose flow table holds the  sample  actions
5924                     and to IPFIX record. The ipfix in the Bridge table is not
5925                     used for flow-based sampling.
5926
5927   Summary:
5928       targets                       set of strings
5929       cache_active_timeout          optional integer, in range 0 to 4,200
5930       cache_max_flows               optional   integer,   in   range   0   to
5931                                     4,294,967,295
5932       other_config : enable-tunnel-sampling
5933                                     optional string, either true or false
5934       other_config : virtual_obs_id optional string
5935       Per-Bridge Sampling:
5936         sampling                    optional   integer,   in   range   1   to
5937                                     4,294,967,295
5938         obs_domain_id               optional   integer,   in   range   0   to
5939                                     4,294,967,295
5940         obs_point_id                optional   integer,   in   range   0   to
5941                                     4,294,967,295
5942         other_config : enable-input-sampling
5943                                     optional string, either true or false
5944         other_config : enable-output-sampling
5945                                     optional string, either true or false
5946       Common Columns:
5947         external_ids                map of string-string pairs
5948
5949   Details:
5950       targets: set of strings
5951              IPFIX target collectors in the form ip:port.
5952
5953       cache_active_timeout: optional integer, in range 0 to 4,200
5954              The maximum period in seconds for which an IPFIX flow record  is
5955              cached  and  aggregated before being sent. If not specified, de‐
5956              faults to 0. If 0, caching is disabled.
5957
5958       cache_max_flows: optional integer, in range 0 to 4,294,967,295
5959              The maximum number of IPFIX flow records that can be cached at a
5960              time.  If  not  specified,  defaults to 0. If 0, caching is dis‐
5961              abled.
5962
5963       other_config : enable-tunnel-sampling: optional string, either true  or
5964       false
5965              Set to true to enable sampling and reporting tunnel header 7-tu‐
5966              ples in IPFIX flow records. Tunnel sampling is  enabled  by  de‐
5967              fault.
5968
5969              The  following  enterprise  entities  report  the sampled tunnel
5970              info:
5971
5972              tunnelType:
5973                     ID: 891, and enterprise ID 6876 (VMware).
5974
5975                     type: unsigned 8-bit integer.
5976
5977                     data type semantics: identifier.
5978
5979                     description: Identifier of the layer  2  network  overlay
5980                     network  encapsulation  type:  0x01 VxLAN, 0x02 GRE, 0x03
5981                     LISP, 0x07 GENEVE.
5982
5983              tunnelKey:
5984                     ID: 892, and enterprise ID 6876 (VMware).
5985
5986                     type: variable-length octetarray.
5987
5988                     data type semantics: identifier.
5989
5990                     description: Key which is used for identifying  an  indi‐
5991                     vidual  traffic  flow within a VxLAN (24-bit VNI), GENEVE
5992                     (24-bit VNI), GRE (32-bit key), or LISP (24-bit  instance
5993                     ID)  tunnel.  The  key is encoded in this octetarray as a
5994                     3-, 4-, or 8-byte integer ID in network byte order.
5995
5996              tunnelSourceIPv4Address:
5997                     ID: 893, and enterprise ID 6876 (VMware).
5998
5999                     type: unsigned 32-bit integer.
6000
6001                     data type semantics: identifier.
6002
6003                     description: The IPv4 source address  in  the  tunnel  IP
6004                     packet header.
6005
6006              tunnelDestinationIPv4Address:
6007                     ID: 894, and enterprise ID 6876 (VMware).
6008
6009                     type: unsigned 32-bit integer.
6010
6011                     data type semantics: identifier.
6012
6013                     description:  The  IPv4 destination address in the tunnel
6014                     IP packet header.
6015
6016              tunnelProtocolIdentifier:
6017                     ID: 895, and enterprise ID 6876 (VMware).
6018
6019                     type: unsigned 8-bit integer.
6020
6021                     data type semantics: identifier.
6022
6023                     description: The value of the protocol number in the tun‐
6024                     nel  IP packet header. The protocol number identifies the
6025                     tunnel IP packet payload type.
6026
6027              tunnelSourceTransportPort:
6028                     ID: 896, and enterprise ID 6876 (VMware).
6029
6030                     type: unsigned 16-bit integer.
6031
6032                     data type semantics: identifier.
6033
6034                     description: The source port  identifier  in  the  tunnel
6035                     transport  header.  For the transport protocols UDP, TCP,
6036                     and SCTP, this is the source port number given in the re‐
6037                     spective header.
6038
6039              tunnelDestinationTransportPort:
6040                     ID: 897, and enterprise ID 6876 (VMware).
6041
6042                     type: unsigned 16-bit integer.
6043
6044                     data type semantics: identifier.
6045
6046                     description:  The destination port identifier in the tun‐
6047                     nel transport header. For the  transport  protocols  UDP,
6048                     TCP,  and SCTP, this is the destination port number given
6049                     in the respective header.
6050
6051              Before Open vSwitch 2.5.90,  other_config:enable-tunnel-sampling
6052              was  only supported with per-bridge sampling, and ignored other‐
6053              wise. Open vSwitch 2.5.90 and later support other_config:enable-
6054              tunnel-sampling for per-bridge and per-flow sampling.
6055
6056       other_config : virtual_obs_id: optional string
6057              A  string  that accompanies each IPFIX flow record. Its intended
6058              use is for the ``virtual observation ID,’’ an  identifier  of  a
6059              virtual  observation  point  that is locally unique in a virtual
6060              network. It describes a location in the virtual network where IP
6061              packets can be observed. The maximum length is 254 bytes. If not
6062              specified, the field is omitted from the IPFIX flow record.
6063
6064              The following enterprise entity reports  the  specified  virtual
6065              observation ID:
6066
6067              virtualObsID:
6068                     ID: 898, and enterprise ID 6876 (VMware).
6069
6070                     type: variable-length string.
6071
6072                     data type semantics: identifier.
6073
6074                     description:  A virtual observation domain ID that is lo‐
6075                     cally unique in a virtual network.
6076
6077              This feature was introduced in Open vSwitch 2.5.90.
6078
6079     Per-Bridge Sampling:
6080
6081       These values affect only per-bridge sampling. See above for a  descrip‐
6082       tion of the differences between per-bridge and flow-based sampling.
6083
6084       sampling: optional integer, in range 1 to 4,294,967,295
6085              The  rate  at  which  packets should be sampled and sent to each
6086              target collector. If not specified, defaults to 400, which means
6087              one  out of 400 packets, on average, will be sent to each target
6088              collector.
6089
6090       obs_domain_id: optional integer, in range 0 to 4,294,967,295
6091              The IPFIX Observation Domain ID sent in each  IPFIX  packet.  If
6092              not specified, defaults to 0.
6093
6094       obs_point_id: optional integer, in range 0 to 4,294,967,295
6095              The  IPFIX  Observation Point ID sent in each IPFIX flow record.
6096              If not specified, defaults to 0.
6097
6098       other_config : enable-input-sampling: optional string, either  true  or
6099       false
6100              By  default,  Open  vSwitch  samples and reports flows at bridge
6101              port input in IPFIX flow records. Set this column  to  false  to
6102              disable input sampling.
6103
6104       other_config  : enable-output-sampling: optional string, either true or
6105       false
6106              By default, Open vSwitch samples and  reports  flows  at  bridge
6107              port  output  in IPFIX flow records. Set this column to false to
6108              disable output sampling.
6109
6110     Common Columns:
6111
6112       The overall purpose of these columns is described under Common  Columns
6113       at the beginning of this document.
6114
6115       external_ids: map of string-string pairs
6116

Flow_Sample_Collector_Set TABLE

6118       A  set of IPFIX collectors of packet samples generated by OpenFlow sam‐
6119       ple actions. This table is used only for IPFIX flow-based sampling, not
6120       for  per-bridge  sampling (see the IPFIX table for a description of the
6121       two forms).
6122
6123   Summary:
6124       id                            integer, in range 0 to 4,294,967,295
6125       bridge                        Bridge
6126       ipfix                         optional IPFIX
6127       Common Columns:
6128         external_ids                map of string-string pairs
6129
6130   Details:
6131       id: integer, in range 0 to 4,294,967,295
6132              The ID of this collector set, unique among the bridge’s  collec‐
6133              tor  sets, to be used as the collector_set_id in OpenFlow sample
6134              actions.
6135
6136       bridge: Bridge
6137              The bridge into which OpenFlow sample actions can  be  added  to
6138              send packet samples to this set of IPFIX collectors.
6139
6140       ipfix: optional IPFIX
6141              Configuration  of  the  set of IPFIX collectors to send one flow
6142              record per sampled packet to.
6143
6144     Common Columns:
6145
6146       The overall purpose of these columns is described under Common  Columns
6147       at the beginning of this document.
6148
6149       external_ids: map of string-string pairs
6150

AutoAttach TABLE

6152       Auto  Attach  configuration  within a bridge. The IETF Auto-Attach SPBM
6153       draft standard describes a compact method of using  IEEE  802.1AB  Link
6154       Layer  Discovery  Protocol (LLDP) together with a IEEE 802.1aq Shortest
6155       Path Bridging (SPB) network to automatically attach network devices  to
6156       individual  services in a SPB network. The intent here is to allow net‐
6157       work applications and devices using OVS to be able to easily  take  ad‐
6158       vantage of features offered by industry standard SPB networks.
6159
6160       Auto  Attach (AA) uses LLDP to communicate between a directly connected
6161       Auto Attach Client (AAC) and Auto Attach Server (AAS). The LLDP  proto‐
6162       col  is  extended  to  add two new Type-Length-Value tuples (TLVs). The
6163       first new TLV supports the ongoing discovery of directly  connected  AA
6164       correspondents.  Auto Attach operates by regularly transmitting AA dis‐
6165       covery TLVs between the AA client and AA server.  By  exchanging  these
6166       discovery messages, both the AAC and AAS learn the system name and sys‐
6167       tem description of their peer. In the OVS context, OVS operates as  the
6168       AA  client and the AA server resides on a switch at the edge of the SPB
6169       network.
6170
6171       Once AA discovery has been completed the AAC then uses the  second  new
6172       TLV  to  deliver identifier mappings from the AAC to the AAS. A primary
6173       feature of Auto Attach is to facilitate the mapping  of  VLANs  defined
6174       outside the SPB network onto service ids (ISIDs) defined within the SPM
6175       network. By doing so individual external VLANs can be mapped onto  spe‐
6176       cific  SPB network services. These VLAN id to ISID mappings can be con‐
6177       figured and managed locally using new options added  to  the  ovs-vsctl
6178       command.
6179
6180       The  Auto  Attach OVS feature does not provide a full implementation of
6181       the LLDP protocol. Support for the mandatory TLVs  as  defined  by  the
6182       LLDP  standard  and support for the AA TLV extensions is provided. LLDP
6183       protocol support in OVS can be enabled or disabled on a  port  by  port
6184       basis. LLDP support is disabled by default.
6185
6186   Summary:
6187       system_name                   string
6188       system_description            string
6189       mappings                      map  of  integer-integer  pairs,  key  in
6190                                     range 0 to 16,777,215, value in  range  0
6191                                     to 4,095
6192
6193   Details:
6194       system_name: string
6195              The  system_name  string is exported in LLDP messages. It should
6196              uniquely identify the bridge in the network.
6197
6198       system_description: string
6199              The system_description string is exported in LLDP  messages.  It
6200              should describe the type of software and hardware.
6201
6202       mappings:  map  of integer-integer pairs, key in range 0 to 16,777,215,
6203       value in range 0 to 4,095
6204              A mapping from SPB network Individual Service Identifier  (ISID)
6205              to VLAN id.
6206
6207
6208
6209Open vSwitch 3.1.1              DB Schema 8.3.1        ovs-vswitchd.conf.db(5)
Impressum