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

Bridge TABLE

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

Port TABLE

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

Interface TABLE

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

Flow_Table TABLE

3826       Configuration for a particular OpenFlow table.
3827
3828   Summary:
3829       name                          optional string
3830       Eviction Policy:
3831         flow_limit                  optional integer, at least 0
3832         overflow_policy             optional string, either evict or refuse
3833         groups                      set of strings
3834       Classifier Optimization:
3835         prefixes                    set of up to 3 strings
3836       Common Columns:
3837         external_ids                map of string-string pairs
3838
3839   Details:
3840       name: optional string
3841              The  table’s  name. Set this column to change the name that con‐
3842              trollers will receive when they request table  statistics,  e.g.
3843              ovs-ofctl dump-tables. The name does not affect switch behavior.
3844
3845     Eviction Policy:
3846
3847       Open  vSwitch  supports  limiting  the  number of flows that may be in‐
3848       stalled in a flow table, via the flow_limit column. When adding a  flow
3849       would  exceed this limit, by default Open vSwitch reports an error, but
3850       there are  two  ways  to  configure  Open  vSwitch  to  instead  delete
3851       (``evict’’) a flow to make room for the new one:
3852
3853              •      Set the overflow_policy column to evict.
3854
3855              •      Send  an  OpenFlow  1.4+  ``table mod request’’ to enable
3856                     eviction for the flow table (e.g. ovs-ofctl -O OpenFlow14
3857                     mod-table  br0 0 evict to enable eviction on flow table 0
3858                     of bridge br0).
3859
3860       When a flow must be evicted due to overflow, the flow to evict is  cho‐
3861       sen through an approximation of the following algorithm. This algorithm
3862       is used regardless of how eviction was enabled:
3863
3864              1.  Divide the flows in the table into groups based on the  val‐
3865                  ues  of the fields or subfields specified in the groups col‐
3866                  umn, so that all of the flows in a given group have the same
3867                  values  for those fields. If a flow does not specify a given
3868                  field, that field’s value is treated  as  0.  If  groups  is
3869                  empty,  then  all of the flows in the flow table are treated
3870                  as a single group.
3871
3872              2.  Consider the flows in the largest group, that is, the  group
3873                  that  contains  the greatest number of flows. If two or more
3874                  groups all have the same largest number of  flows,  consider
3875                  the flows in all of those groups.
3876
3877              3.  If  the  flows under consideration have different importance
3878                  values, eliminate from consideration any flows except  those
3879                  with  the lowest importance. (``Importance,’’ a 16-bit inte‐
3880                  ger value attached to each flow, was introduced in  OpenFlow
3881                  1.4.  Flows  inserted with older versions of OpenFlow always
3882                  have an importance of 0.)
3883
3884              4.  Among the flows under consideration, choose  the  flow  that
3885                  expires soonest for eviction.
3886
3887       The  eviction process only considers flows that have an idle timeout or
3888       a hard timeout. That is, eviction never deletes permanent flows.  (Per‐
3889       manent flows do count against flow_limit.)
3890
3891       flow_limit: optional integer, at least 0
3892              If  set, limits the number of flows that may be added to the ta‐
3893              ble. Open vSwitch may limit the number of flows in a  table  for
3894              other  reasons, e.g. due to hardware limitations or for resource
3895              availability or performance reasons.
3896
3897       overflow_policy: optional string, either evict or refuse
3898              Controls the switch’s behavior when an OpenFlow flow table modi‐
3899              fication  request  would  add flows in excess of flow_limit. The
3900              supported values are:
3901
3902              refuse Refuse to add the flow or flows. This is also the default
3903                     policy when overflow_policy is unset.
3904
3905              evict  Delete a flow chosen according to the algorithm described
3906                     above.
3907
3908       groups: set of strings
3909              When overflow_policy is evict, this controls how flows are  cho‐
3910              sen  for  eviction  when  the  flow table would otherwise exceed
3911              flow_limit flows. Its value is a  set  of  NXM  fields  or  sub-
3912              fields,  each  of  which  takes  one  of  the  forms  field[] or
3913              field[start..end], e.g. NXM_OF_IN_PORT[]. Please see meta-flow.h
3914              for a complete list of NXM field names.
3915
3916              Open  vSwitch  ignores  any  invalid or unknown field specifica‐
3917              tions.
3918
3919              When eviction is not enabled, via overflow_policy or an OpenFlow
3920              1.4+ ``table mod,’’ this column has no effect.
3921
3922     Classifier Optimization:
3923
3924       prefixes: set of up to 3 strings
3925              This  string  set  specifies which fields should be used for ad‐
3926              dress prefix tracking. Prefix tracking allows the classifier  to
3927              skip  rules  with  longer  than necessary prefixes, resulting in
3928              better wildcarding for datapath flows.
3929
3930              Prefix tracking may be beneficial when  a  flow  table  contains
3931              matches  on IP address fields with different prefix lengths. For
3932              example, when a flow table contains IP address matches  on  both
3933              full  addresses  and  proper  prefixes, the full address matches
3934              will typically cause the datapath flow to un-wildcard the  whole
3935              address field (depending on flow entry priorities). In this case
3936              each  packet  with  a  different  address  gets  handed  to  the
3937              userspace  for  flow  processing  and generates its own datapath
3938              flow. With prefix tracking enabled  for  the  address  field  in
3939              question  packets with addresses matching shorter prefixes would
3940              generate datapath flows where the irrelevant  address  bits  are
3941              wildcarded,  allowing  the  same datapath flow to handle all the
3942              packets within  the  prefix  in  question.  In  this  case  many
3943              userspace upcalls can be avoided and the overall performance can
3944              be better.
3945
3946              This is a performance optimization only, so packets will receive
3947              the same treatment with or without prefix tracking.
3948
3949              The    supported   fields   are:   tun_id,   tun_src,   tun_dst,
3950              tun_ipv6_src, tun_ipv6_dst, nw_src, nw_dst  (or  aliases  ip_src
3951              and  ip_dst),  ipv6_src,  and  ipv6_dst. (Using this feature for
3952              tun_id would only make sense  if  the  tunnel  IDs  have  prefix
3953              structure similar to IP addresses.)
3954
3955              By default, the prefixes=ip_dst,ip_src are used on each flow ta‐
3956              ble. This instructs the flow classifier to track the IP destina‐
3957              tion  and  source  addresses  used by the rules in this specific
3958              flow table.
3959
3960              The keyword none is recognized as an explicit  override  of  the
3961              default values, causing no prefix fields to be tracked.
3962
3963              To set the prefix fields, the flow table record needs to exist:
3964
3965              ovs-vsctl  set  Bridge  br0 flow_tables:0=@N1 -- --id=@N1 create
3966              Flow_Table name=table0
3967                     Creates a flow table record for the OpenFlow table number
3968                     0.
3969
3970              ovs-vsctl set Flow_Table table0 prefixes=ip_dst,ip_src
3971                     Enables prefix tracking for IP source and destination ad‐
3972                     dress fields.
3973
3974              There is a maximum number of fields that can be enabled for  any
3975              one flow table. Currently this limit is 3.
3976
3977     Common Columns:
3978
3979       The  overall purpose of these columns is described under Common Columns
3980       at the beginning of this document.
3981
3982       external_ids: map of string-string pairs
3983

QoS TABLE

3985       Quality of Service (QoS) configuration for each  Port  that  references
3986       it.
3987
3988   Summary:
3989       type                          string
3990       queues                        map  of integer-Queue pairs, key in range
3991                                     0 to 4,294,967,295
3992       Configuration for linux-htb and linux-hfsc:
3993         other_config : max-rate     optional string, containing an integer
3994       Configuration for egress-policer QoS:
3995         other_config : cir          optional string, containing an integer
3996         other_config : cbs          optional string, containing an integer
3997         other_config : eir          optional string, containing an integer
3998         other_config : ebs          optional string, containing an integer
3999       Configuration for linux-sfq:
4000         other_config : perturb      optional string, containing an integer
4001         other_config : quantum      optional string, containing an integer
4002       Configuration for linux-netem:
4003         other_config : latency      optional string, containing an integer
4004         other_config : limit        optional string, containing an integer
4005         other_config : loss         optional string, containing an integer
4006       Common Columns:
4007         other_config                map of string-string pairs
4008         external_ids                map of string-string pairs
4009
4010   Details:
4011       type: string
4012              The type of QoS to implement. The currently  defined  types  are
4013              listed below:
4014
4015              linux-htb
4016                     Linux  ``hierarchy  token  bucket’’  classifier.  See tc-
4017                     htb(8) (also  at  http://linux.die.net/man/8/tc-htb)  and
4018                     the  HTB  manual (http://luxik.cdi.cz/~devik/qos/htb/man‐
4019                     ual/userg.htm) for information  on  how  this  classifier
4020                     works and how to configure it.
4021
4022              linux-hfsc
4023                     Linux  "Hierarchical  Fair Service Curve" classifier. See
4024                     http://linux-ip.net/articles/hfsc.en/ for information  on
4025                     how this classifier works.
4026
4027              linux-sfq
4028                     Linux  ``Stochastic  Fairness  Queueing’’ classifier. See
4029                     tc-sfq(8) (also at http://linux.die.net/man/8/tc-sfq) for
4030                     information on how this classifier works.
4031
4032              linux-codel
4033                     Linux  ``Controlled  Delay’’  classifier. See tc-codel(8)
4034                     (also                                                  at
4035                     http://man7.org/linux/man-pages/man8/tc-codel.8.html) for
4036                     information on how this classifier works.
4037
4038              linux-fq_codel
4039                     Linux ``Fair Queuing with Controlled Delay’’  classifier.
4040                     See           tc-fq_codel(8)           (also           at
4041                     http://man7.org/linux/man-pages/man8/tc-fq_codel.8.html)
4042                     for information on how this classifier works.
4043
4044              linux-netem
4045                     Linux  ``Network  Emulator’’  classifier. See tc-netem(8)
4046                     (also                                                  at
4047                     http://man7.org/linux/man-pages/man8/tc-netem.8.html) for
4048                     information on how this classifier works.
4049
4050              linux-noop
4051                     Linux ``No operation.’’ By default, Open vSwitch  manages
4052                     quality  of  service on all of its configured ports. This
4053                     can be helpful, but sometimes  administrators  prefer  to
4054                     use other software to manage QoS. This type prevents Open
4055                     vSwitch from changing the QoS configuration for a port.
4056
4057              egress-policer
4058                     A DPDK egress policer algorithm using the DPDK  rte_meter
4059                     library. The rte_meter library provides an implementation
4060                     which allows the metering and policing  of  traffic.  The
4061                     implementation  in OVS essentially creates a single token
4062                     bucket used to police traffic. It should  be  noted  that
4063                     when  the  rte_meter  is  configured as part of QoS there
4064                     will be a performance overhead as  the  rte_meter  itself
4065                     will consume CPU cycles in order to police traffic. These
4066                     CPU cycles ordinarily are used for packet proccessing. As
4067                     such  the drop in performance will be noticed in terms of
4068                     overall aggregate traffic throughput.
4069
4070              trtcm-policer
4071                     A DPDK egress policer algorithm  using  RFC  4115’s  Two-
4072                     Rate,  Three-Color  marker. It’s a two-level hierarchical
4073                     policer which first does a  color-blind  marking  of  the
4074                     traffic  at  the  queue  level, followed by a color-aware
4075                     marking at the port level. At the end traffic  marked  as
4076                     Green or Yellow is forwarded, Red is dropped. For details
4077                     on how traffic is marked, see RFC 4115. If the  ``default
4078                     queue’’,  0, is not configured it’s automatically created
4079                     with the same other_config values as the physical port.
4080
4081       queues: map of integer-Queue pairs, key in range 0 to 4,294,967,295
4082              A map from queue numbers to Queue records. The  supported  range
4083              of  queue numbers depend on type. The queue numbers are the same
4084              as the queue_id used in OpenFlow  in  struct  ofp_action_enqueue
4085              and other structures.
4086
4087              Queue  0 is the ``default queue.’’ It is used by OpenFlow output
4088              actions when no specific queue has been set. When no  configura‐
4089              tion  for  queue 0 is present, it is automatically configured as
4090              if a Queue record with empty dscp and other_config  columns  had
4091              been  specified.  (Before  version 1.6, Open vSwitch would leave
4092              queue 0 unconfigured in this  case.  With  some  queuing  disci‐
4093              plines,  this  dropped  all  packets  destined  for  the default
4094              queue.)
4095
4096     Configuration for linux-htb and linux-hfsc:
4097
4098       The linux-htb and linux-hfsc classes support  the  following  key-value
4099       pair:
4100
4101       other_config : max-rate: optional string, containing an integer
4102              Maximum  rate  shared by all queued traffic, in bit/s. Optional.
4103              If not specified, for physical interfaces, the  default  is  the
4104              link  rate.  For  other interfaces or if the link rate cannot be
4105              determined, the default is currently 100 Mbps.
4106
4107     Configuration for egress-policer QoS:
4108
4109       QoS type egress-policer provides egress  policing  for  userspace  port
4110       types with DPDK. It has the following key-value pairs defined.
4111
4112       other_config : cir: optional string, containing an integer
4113              The  Committed Information Rate (CIR) is measured in bytes of IP
4114              packets per second, i.e. it includes the IP header, but not link
4115              specific  (e.g. Ethernet) headers. This represents the bytes per
4116              second rate at which the token bucket will be updated.  The  cir
4117              value is calculated by (pps x packet data size). For example as‐
4118              suming a user wishes to limit a stream  consisting  of  64  byte
4119              packets  to 1 million packets per second the CIR would be set to
4120              to to 46000000. This value can be broken into ’1,000,000 x  46’.
4121              Where  1,000,000  is the policing rate for the number of packets
4122              per second and 46 represents the size of the packet data  for  a
4123              64 byte ip packet.
4124
4125       other_config : cbs: optional string, containing an integer
4126              The  Committed  Burst Size (CBS) is measured in bytes and repre‐
4127              sents a token bucket. At a minimum this value should be  be  set
4128              to  the  expected  largest size packet in the traffic stream. In
4129              practice larger values may be used to increase the size  of  the
4130              token  bucket.  If a packet can be transmitted then the cbs will
4131              be decremented by the number of bytes/tokens of the  packet.  If
4132              there are not enough tokens in the cbs bucket the packet will be
4133              dropped.
4134
4135       other_config : eir: optional string, containing an integer
4136              The Excess Information Rate (EIR) is measured  in  bytes  of  IP
4137              packets per second, i.e. it includes the IP header, but not link
4138              specific (e.g. Ethernet) headers. This represents the bytes  per
4139              second  rate  at which the token bucket will be updated. The eir
4140              value is calculated by (pps x packet data size). For example as‐
4141              suming  a  user  wishes  to limit a stream consisting of 64 byte
4142              packets to 1 million packets per second the EIR would be set  to
4143              to  to 46000000. This value can be broken into ’1,000,000 x 46’.
4144              Where 1,000,000 is the policing rate for the number  of  packets
4145              per  second  and 46 represents the size of the packet data for a
4146              64 byte ip packet.
4147
4148       other_config : ebs: optional string, containing an integer
4149              The Excess Burst Size (EBS) is measured in bytes and  represents
4150              a  token bucket. At a minimum this value should be be set to the
4151              expected largest size packet in the traffic stream. In  practice
4152              larger  values  may  be  used  to increase the size of the token
4153              bucket. If a packet can be transmitted  then  the  ebs  will  be
4154              decremented  by  the  number  of  bytes/tokens of the packet. If
4155              there are not enough tokens in the cbs bucket the  packet  might
4156              be dropped.
4157
4158     Configuration for linux-sfq:
4159
4160       The linux-sfq QoS supports the following key-value pairs:
4161
4162       other_config : perturb: optional string, containing an integer
4163              Number  of  seconds between consecutive perturbations in hashing
4164              algorithm. Different flows can end up in the  same  hash  bucket
4165              causing  unfairness.  Perturbation’s  goal is to remove possible
4166              unfairness. The default and recommended value is 10. Too  low  a
4167              value  is discouraged because each perturbation can cause packet
4168              reordering.
4169
4170       other_config : quantum: optional string, containing an integer
4171              Number of bytes linux-sfq QoS can dequeue in one turn in  round-
4172              robin  from one flow. The default and recommended value is equal
4173              to interface’s MTU.
4174
4175     Configuration for linux-netem:
4176
4177       The linux-netem QoS supports the following key-value pairs:
4178
4179       other_config : latency: optional string, containing an integer
4180              Adds the chosen delay to the packets outgoing to chosen  network
4181              interface. The latency value expressed in us.
4182
4183       other_config : limit: optional string, containing an integer
4184              Maximum  number  of packets the qdisc may hold queued at a time.
4185              The default value is 1000.
4186
4187       other_config : loss: optional string, containing an integer
4188              Adds an independent loss probability  to  the  packets  outgoing
4189              from the chosen network interface.
4190
4191     Common Columns:
4192
4193       The  overall purpose of these columns is described under Common Columns
4194       at the beginning of this document.
4195
4196       other_config: map of string-string pairs
4197
4198       external_ids: map of string-string pairs
4199

Queue TABLE

4201       A configuration for a port output queue, used in configuring Quality of
4202       Service  (QoS)  features. May be referenced by queues column in QoS ta‐
4203       ble.
4204
4205   Summary:
4206       dscp                          optional integer, in range 0 to 63
4207       Configuration for linux-htb QoS:
4208         other_config : min-rate     optional string, containing  an  integer,
4209                                     at least 1
4210         other_config : max-rate     optional  string,  containing an integer,
4211                                     at least 1
4212         other_config : burst        optional string, containing  an  integer,
4213                                     at least 1
4214         other_config : priority     optional  string,  containing an integer,
4215                                     in range 0 to 4,294,967,295
4216       Configuration for linux-hfsc QoS:
4217         other_config : min-rate     optional string, containing  an  integer,
4218                                     at least 1
4219         other_config : max-rate     optional  string,  containing an integer,
4220                                     at least 1
4221       Common Columns:
4222         other_config                map of string-string pairs
4223         external_ids                map of string-string pairs
4224
4225   Details:
4226       dscp: optional integer, in range 0 to 63
4227              If set, Open vSwitch will mark all traffic egressing this  Queue
4228              with the given DSCP bits. Traffic egressing the default Queue is
4229              only marked if it was explicitly selected as the  Queue  at  the
4230              time  the  packet was output. If unset, the DSCP bits of traffic
4231              egressing this Queue will remain unchanged.
4232
4233     Configuration for linux-htb QoS:
4234
4235       QoS type linux-htb may use queue_ids less than 61440. It has  the  fol‐
4236       lowing key-value pairs defined.
4237
4238       other_config  :  min-rate:  optional  string, containing an integer, at
4239       least 1
4240              Minimum guaranteed bandwidth, in bit/s.
4241
4242       other_config : max-rate: optional string,  containing  an  integer,  at
4243       least 1
4244              Maximum allowed bandwidth, in bit/s. Optional. If specified, the
4245              queue’s rate will not be allowed to exceed the specified  value,
4246              even  if excess bandwidth is available. If unspecified, defaults
4247              to no limit.
4248
4249       other_config : burst: optional string, containing an integer, at  least
4250       1
4251              Burst  size,  in bits. This is the maximum amount of ``credits’’
4252              that a queue can accumulate while it is idle. Optional.  Details
4253              of the linux-htb implementation require a minimum burst size, so
4254              a too-small burst will be silently ignored.
4255
4256       other_config : priority: optional string,  containing  an  integer,  in
4257       range 0 to 4,294,967,295
4258              A  queue  with  a  smaller  priority will receive all the excess
4259              bandwidth that it can use before a queue with a larger value re‐
4260              ceives any. Specific priority values are unimportant; only rela‐
4261              tive ordering matters. Defaults to 0 if unspecified.
4262
4263     Configuration for linux-hfsc QoS:
4264
4265       QoS type linux-hfsc may use queue_ids less than 61440. It has the  fol‐
4266       lowing key-value pairs defined.
4267
4268       other_config  :  min-rate:  optional  string, containing an integer, at
4269       least 1
4270              Minimum guaranteed bandwidth, in bit/s.
4271
4272       other_config : max-rate: optional string,  containing  an  integer,  at
4273       least 1
4274              Maximum allowed bandwidth, in bit/s. Optional. If specified, the
4275              queue’s rate will not be allowed to exceed the specified  value,
4276              even  if excess bandwidth is available. If unspecified, defaults
4277              to no limit.
4278
4279     Common Columns:
4280
4281       The overall purpose of these columns is described under Common  Columns
4282       at the beginning of this document.
4283
4284       other_config: map of string-string pairs
4285
4286       external_ids: map of string-string pairs
4287

Mirror TABLE

4289       A port mirror within a Bridge.
4290
4291       A  port  mirror  configures a bridge to send selected frames to special
4292       ``mirrored’’ ports, in addition to their normal destinations. Mirroring
4293       traffic  may also be referred to as SPAN or RSPAN, depending on how the
4294       mirrored traffic is sent.
4295
4296       When a packet enters an Open vSwitch bridge, it  becomes  eligible  for
4297       mirroring  based  on  its  ingress port and VLAN. As the packet travels
4298       through the flow tables, each time it is output to a port,  it  becomes
4299       eligible  for  mirroring  based  on  the  egress port and VLAN. In Open
4300       vSwitch 2.5 and later, mirroring occurs just after a packet  first  be‐
4301       comes  eligible,  using  the packet as it exists at that point; in Open
4302       vSwitch 2.4 and earlier, mirroring occurs only after a packet has  tra‐
4303       versed all the flow tables, using the original packet as it entered the
4304       bridge. This makes a difference only when the flow table  modifies  the
4305       packet:  in  Open  vSwitch  2.4, the modifications are never visible to
4306       mirrors, whereas in Open vSwitch 2.5 and later modifications  made  be‐
4307       fore the first output that makes it eligible for mirroring to a partic‐
4308       ular destination are visible.
4309
4310       A packet that enters an Open vSwitch bridge is mirrored to a particular
4311       destination only once, even if it is eligible for multiple reasons. For
4312       example, a packet would be mirrored to a  particular  output_port  only
4313       once,  even  if  it  is  selected  for  mirroring  to  that port by se‐
4314       lect_dst_port and select_src_port  in  the  same  or  different  Mirror
4315       records.
4316
4317   Summary:
4318       name                          string
4319       Selecting Packets for Mirroring:
4320         select_all                  boolean
4321         select_dst_port             set of weak reference to Ports
4322         select_src_port             set of weak reference to Ports
4323         select_vlan                 set  of  up to 4,096 integers, in range 0
4324                                     to 4,095
4325       Mirroring Destination Configuration:
4326         output_port                 optional weak reference to Port
4327         output_vlan                 optional integer, in range 1 to 4,095
4328         snaplen                     optional integer, in range 14 to 65,535
4329       Statistics: Mirror counters:
4330         statistics : tx_packets     optional integer
4331         statistics : tx_bytes       optional integer
4332       Common Columns:
4333         external_ids                map of string-string pairs
4334
4335   Details:
4336       name: string
4337              Arbitrary identifier for the Mirror.
4338
4339     Selecting Packets for Mirroring:
4340
4341       To be selected for mirroring, a given packet must enter  or  leave  the
4342       bridge  through  a  selected port and it must also be in one of the se‐
4343       lected VLANs.
4344
4345       select_all: boolean
4346              If true, every packet arriving or departing on any port  is  se‐
4347              lected for mirroring.
4348
4349       select_dst_port: set of weak reference to Ports
4350              Ports on which departing packets are selected for mirroring.
4351
4352       select_src_port: set of weak reference to Ports
4353              Ports on which arriving packets are selected for mirroring.
4354
4355       select_vlan: set of up to 4,096 integers, in range 0 to 4,095
4356              VLANs  on which packets are selected for mirroring. An empty set
4357              selects packets on all VLANs.
4358
4359     Mirroring Destination Configuration:
4360
4361       These columns are mutually exclusive.  Exactly  one  of  them  must  be
4362       nonempty.
4363
4364       output_port: optional weak reference to Port
4365              Output port for selected packets, if nonempty.
4366
4367              Specifying  a  port  for mirror output reserves that port exclu‐
4368              sively for mirroring. No frames other than  those  selected  for
4369              mirroring via this column will be forwarded to the port, and any
4370              frames received on the port will be discarded.
4371
4372              The output port may be  any  kind  of  port  supported  by  Open
4373              vSwitch.  It  may  be,  for  example, a physical port (sometimes
4374              called SPAN) or a GRE tunnel.
4375
4376       output_vlan: optional integer, in range 1 to 4,095
4377              Output VLAN for selected packets, if nonempty.
4378
4379              The frames will be sent out all ports that trunk output_vlan, as
4380              well  as  any  ports with implicit VLAN output_vlan. When a mir‐
4381              rored frame is sent out a trunk port, the frame’s VLAN tag  will
4382              be  set  to  output_vlan, replacing any existing tag; when it is
4383              sent out an implicit VLAN port, the frame will  not  be  tagged.
4384              This type of mirroring is sometimes called RSPAN.
4385
4386              See  the  documentation for other_config:forward-bpdu in the In‐
4387              terface table for a list of destination MAC addresses which will
4388              not  be  mirrored to a VLAN to avoid confusing switches that in‐
4389              terpret the protocols that they represent.
4390
4391              Please note: Mirroring to a VLAN can disrupt a network that con‐
4392              tains  unmanaged switches. Consider an unmanaged physical switch
4393              with two ports: port 1, connected to an end host,  and  port  2,
4394              connected to an Open vSwitch configured to mirror received pack‐
4395              ets into VLAN 123 on port 2. Suppose that the end host  sends  a
4396              packet  on  port  1 that the physical switch forwards to port 2.
4397              The Open vSwitch forwards this packet  to  its  destination  and
4398              then  reflects  it  back  on  port 2 in VLAN 123. This reflected
4399              packet causes the unmanaged physical switch to replace  the  MAC
4400              learning  table  entry,  which correctly pointed to port 1, with
4401              one that incorrectly points to port 2. Afterward,  the  physical
4402              switch will direct packets destined for the end host to the Open
4403              vSwitch on port 2, instead of to the end host on  port  1,  dis‐
4404              rupting  connectivity. If mirroring to a VLAN is desired in this
4405              scenario, then the physical switch must be replaced by one  that
4406              learns  Ethernet  addresses  on  a  per-VLAN basis. In addition,
4407              learning should be disabled  on  the  VLAN  containing  mirrored
4408              traffic.  If  this  is  not done then intermediate switches will
4409              learn the MAC address of each end host from the  mirrored  traf‐
4410              fic.  If  packets being sent to that end host are also mirrored,
4411              then they will be dropped since the switch will attempt to  send
4412              them  out  the  input port. Disabling learning for the VLAN will
4413              cause the switch to correctly send the packet out all ports con‐
4414              figured  for  that VLAN. If Open vSwitch is being used as an in‐
4415              termediate switch, learning can be disabled by adding  the  mir‐
4416              rored VLAN to flood_vlans in the appropriate Bridge table or ta‐
4417              bles.
4418
4419              Mirroring to a GRE tunnel has fewer caveats than mirroring to  a
4420              VLAN and should generally be preferred.
4421
4422       snaplen: optional integer, in range 14 to 65,535
4423              Maximum per-packet number of bytes to mirror.
4424
4425              A  mirrored  packet  with size larger than snaplen will be trun‐
4426              cated in datapath to snaplen bytes before sending to the  mirror
4427              output port. If omitted, packets are not truncated.
4428
4429     Statistics: Mirror counters:
4430
4431       Key-value  pairs  that  report  mirror statistics. The update period is
4432       controlled by other_config:stats-update-interval  in  the  Open_vSwitch
4433       table.
4434
4435       statistics : tx_packets: optional integer
4436              Number of packets transmitted through this mirror.
4437
4438       statistics : tx_bytes: optional integer
4439              Number of bytes transmitted through this mirror.
4440
4441     Common Columns:
4442
4443       The  overall purpose of these columns is described under Common Columns
4444       at the beginning of this document.
4445
4446       external_ids: map of string-string pairs
4447

Controller TABLE

4449       An OpenFlow controller.
4450
4451   Summary:
4452       Core Features:
4453         type                        optional string, either primary  or  ser‐
4454                                     vice
4455         target                      string
4456         connection_mode             optional   string,   either   in-band  or
4457                                     out-of-band
4458       Controller Failure Detection and Handling:
4459         max_backoff                 optional integer, at least 1,000
4460         inactivity_probe            optional integer
4461       Asynchronous Messages:
4462         enable_async_messages       optional boolean
4463         Controller Rate Limiting:
4464            controller_queue_size    optional integer, in range 1 to 512
4465            controller_rate_limit    optional integer, at least 100
4466            controller_burst_limit   optional integer, at least 25
4467            Controller Rate Limiting Statistics:
4468              status : packet-in-TYPE-bypassed
4469                                     optional string, containing  an  integer,
4470                                     at least 0
4471              status : packet-in-TYPE-queued
4472                                     optional  string,  containing an integer,
4473                                     at least 0
4474              status : packet-in-TYPE-dropped
4475                                     optional string, containing  an  integer,
4476                                     at least 0
4477              status : packet-in-TYPE-backlog
4478                                     optional  string,  containing an integer,
4479                                     at least 0
4480       Additional In-Band Configuration:
4481         local_ip                    optional string
4482         local_netmask               optional string
4483         local_gateway               optional string
4484       Controller Status:
4485         is_connected                boolean
4486         role                        optional string, one of master, other, or
4487                                     slave
4488         status : last_error         optional string
4489         status : state              optional  string, one of ACTIVE, BACKOFF,
4490                                     CONNECTING, IDLE, or VOID
4491         status : sec_since_connect  optional string, containing  an  integer,
4492                                     at least 0
4493         status : sec_since_disconnect
4494                                     optional  string,  containing an integer,
4495                                     at least 1
4496       Connection Parameters:
4497         other_config : dscp         optional string, containing an integer
4498       Common Columns:
4499         external_ids                map of string-string pairs
4500         other_config                map of string-string pairs
4501
4502   Details:
4503     Core Features:
4504
4505       type: optional string, either primary or service
4506              Open vSwitch supports  two  kinds  of  OpenFlow  controllers.  A
4507              bridge may have any number of each kind:
4508
4509              Primary controllers
4510                     This is the kind of controller envisioned by the OpenFlow
4511                     specifications. Usually, a primary controller  implements
4512                     a  network  policy  by taking charge of the switch’s flow
4513                     table.
4514
4515                     The fail_mode column in the Bridge table applies to  pri‐
4516                     mary controllers.
4517
4518                     When  multiple  primary  controllers are configured, Open
4519                     vSwitch connects to all of them simultaneously.  OpenFlow
4520                     provides  few facilities to allow multiple controllers to
4521                     coordinate in interacting with a single switch,  so  more
4522                     than  one  primary controller should be specified only if
4523                     the controllers are  themselves  designed  to  coordinate
4524                     with each other.
4525
4526              Service controllers
4527                     These  kinds  of  OpenFlow controller connections are in‐
4528                     tended for occasional support and maintenance  use,  e.g.
4529                     with  ovs-ofctl.  Usually  a  service controller connects
4530                     only briefly to inspect or  modify  some  of  a  switch’s
4531                     state.
4532
4533                     The  fail_mode  column in the Bridge table does not apply
4534                     to service controllers.
4535
4536              By default, Open vSwitch treats controllers with active  connec‐
4537              tion  methods as primary controllers and those with passive con‐
4538              nection methods as service controllers. Set this column  to  the
4539              desired type to override this default.
4540
4541       target: string
4542              Connection method for controller.
4543
4544              The following active connection methods are currently supported:
4545
4546              ssl:host[:port]
4547                     The  specified  SSL  port  on the host at the given host,
4548                     which can either be a DNS name (if built with unbound li‐
4549                     brary)   or   an  IP  address.  The  ssl  column  in  the
4550                     Open_vSwitch table must point to a valid  SSL  configura‐
4551                     tion when this form is used.
4552
4553                     If port is not specified, it defaults to 6653.
4554
4555                     SSL  support  is  an  optional feature that is not always
4556                     built as part of Open vSwitch.
4557
4558              tcp:host[:port]
4559                     The specified TCP port on the host  at  the  given  host,
4560                     which can either be a DNS name (if built with unbound li‐
4561                     brary) or an IP address (IPv4 or IPv6).  If  host  is  an
4562                     IPv6   address,   wrap   it   in  square  brackets,  e.g.
4563                     tcp:[::1]:6653.
4564
4565                     If port is not specified, it defaults to 6653.
4566
4567              The following passive  connection  methods  are  currently  sup‐
4568              ported:
4569
4570              pssl:[port][:host]
4571                     Listens for SSL connections on the specified TCP port. If
4572                     host, which can either be a DNS name (if built  with  un‐
4573                     bound  library) or an IP address, is specified, then con‐
4574                     nections are restricted to the resolved or specified  lo‐
4575                     cal  IP address (either IPv4 or IPv6). If host is an IPv6
4576                     address,   wrap   it    in    square    brackets,    e.g.
4577                     pssl:6653:[::1].
4578
4579                     If port is not specified, it defaults to 6653. If host is
4580                     not specified then it listens only on IPv4 (but not IPv6)
4581                     addresses.  The ssl column in the Open_vSwitch table must
4582                     point to a valid SSL  configuration  when  this  form  is
4583                     used.
4584
4585                     If port is not specified, it currently to 6653.
4586
4587                     SSL  support  is  an  optional feature that is not always
4588                     built as part of Open vSwitch.
4589
4590              ptcp:[port][:host]
4591                     Listens for connections on the  specified  TCP  port.  If
4592                     host,  which  can either be a DNS name (if built with un‐
4593                     bound library) or an IP address, is specified, then  con‐
4594                     nections  are restricted to the resolved or specified lo‐
4595                     cal IP address (either IPv4 or IPv6). If host is an  IPv6
4596                     address,    wrap    it    in    square   brackets,   e.g.
4597                     ptcp:6653:[::1]. If host is not specified then it listens
4598                     only on IPv4 addresses.
4599
4600                     If port is not specified, it defaults to 6653.
4601
4602              When  multiple  controllers  are configured for a single bridge,
4603              the target values must be unique. Duplicate target values  yield
4604              unspecified results.
4605
4606       connection_mode: optional string, either in-band or out-of-band
4607              If  it  is  specified, this setting must be one of the following
4608              strings that describes how Open vSwitch contacts  this  OpenFlow
4609              controller over the network:
4610
4611              in-band
4612                     In  this mode, this controller’s OpenFlow traffic travels
4613                     over the bridge associated with the controller. With this
4614                     setting, Open vSwitch allows traffic to and from the con‐
4615                     troller regardless of the contents of the  OpenFlow  flow
4616                     table.  (Otherwise,  Open  vSwitch would never be able to
4617                     connect to the controller, because it did not have a flow
4618                     to  enable  it.)  This is the most common connection mode
4619                     because it is not necessary to maintain  two  independent
4620                     networks.
4621
4622              out-of-band
4623                     In  this  mode,  OpenFlow  traffic uses a control network
4624                     separate from the bridge associated with this controller,
4625                     that  is,  the bridge does not use any of its own network
4626                     devices to communicate with the controller.  The  control
4627                     network  must  be  configured separately, before or after
4628                     ovs-vswitchd is started.
4629
4630              If not specified, the default is implementation-specific.
4631
4632     Controller Failure Detection and Handling:
4633
4634       max_backoff: optional integer, at least 1,000
4635              Maximum number of milliseconds to wait  between  connection  at‐
4636              tempts. Default is implementation-specific.
4637
4638       inactivity_probe: optional integer
4639              Maximum  number  of  milliseconds  of idle time on connection to
4640              controller before sending an inactivity probe message.  If  Open
4641              vSwitch  does not communicate with the controller for the speci‐
4642              fied number of seconds, it will send a probe. If a  response  is
4643              not  received  for  the  same  additional  amount  of time, Open
4644              vSwitch assumes the connection has been broken and  attempts  to
4645              reconnect. Default is implementation-specific. A value of 0 dis‐
4646              ables inactivity probes.
4647
4648     Asynchronous Messages:
4649
4650       OpenFlow switches send certain messages to controllers  spontanenously,
4651       that is, not in response to any request from the controller. These mes‐
4652       sages are called ``asynchronous messages.’’ These columns  allow  asyn‐
4653       chronous  messages  to be limited or disabled to ensure the best use of
4654       network resources.
4655
4656       enable_async_messages: optional boolean
4657              The OpenFlow protocol enables asynchronous messages at  time  of
4658              connection  establishment, which means that a controller can re‐
4659              ceive asynchronous messages, potentially many of them,  even  if
4660              it  turns them off immediately after connecting. Set this column
4661              to false to change Open vSwitch behavior to disable, by default,
4662              all   asynchronous   messages.   The   controller  can  use  the
4663              NXT_SET_ASYNC_CONFIG Nicira extension to OpenFlow to turn on any
4664              messages that it does want to receive, if any.
4665
4666     Controller Rate Limiting:
4667
4668       A  switch  can forward packets to a controller over the OpenFlow proto‐
4669       col. Forwarding packets this way at too high a  rate  can  overwhelm  a
4670       controller,  frustrate  use  of  the OpenFlow connection for other pur‐
4671       poses, increase the latency of flow  setup,  and  use  an  unreasonable
4672       amount of bandwidth. Therefore, Open vSwitch supports limiting the rate
4673       of packet forwarding to a controller.
4674
4675       There are two main reasons in OpenFlow for a packet to  be  sent  to  a
4676       controller:  either  the  packet ``misses’’ in the flow table, that is,
4677       there is no matching flow, or a flow table  action  says  to  send  the
4678       packet  to the controller. Open vSwitch limits the rate of each kind of
4679       packet separately at the configured rate. Therefore,  the  actual  rate
4680       that  packets are sent to the controller can be up to twice the config‐
4681       ured rate, when packets are sent for both reasons.
4682
4683       This feature is specific to forwarding packets over an OpenFlow connec‐
4684       tion.  It  is not general-purpose QoS. See the QoS table for quality of
4685       service configuration, and ingress_policing_rate in the Interface table
4686       for ingress policing configuration.
4687
4688       controller_queue_size: optional integer, in range 1 to 512
4689              This  sets the maximum size of the queue of packets that need to
4690              be sent to this OpenFlow controller. The value must be less than
4691              512. If not specified the queue size is limited to the value set
4692              for the management controller in  other_config:controller-queue-
4693              size  if present or 100 packets by default. Note: increasing the
4694              queue size might have a negative impact on latency.
4695
4696       controller_rate_limit: optional integer, at least 100
4697              The maximum rate at which the switch will forward packets to the
4698              OpenFlow controller, in packets per second. If no value is spec‐
4699              ified, rate limiting is disabled.
4700
4701       controller_burst_limit: optional integer, at least 25
4702              When a high rate triggers  rate-limiting,  Open  vSwitch  queues
4703              packets  to  the  controller for each port and transmits them to
4704              the controller at the configured rate.  This  value  limits  the
4705              number  of  queued  packets.  Ports on a bridge share the packet
4706              queue fairly.
4707
4708              This value has no effect unless controller_rate_limit is config‐
4709              ured.  The  current  default when this value is not specified is
4710              one-quarter of controller_rate_limit, meaning that  queuing  can
4711              delay forwarding a packet to the controller by up to 250 ms.
4712
4713     Controller Rate Limiting Statistics:
4714
4715       These values report the effects of rate limiting. Their values are rel‐
4716       ative to establishment of the most recent OpenFlow connection, or since
4717       rate  limiting was enabled, whichever happened more recently. Each con‐
4718       sists of two values, one with TYPE replaced by miss for  rate  limiting
4719       flow  table misses, and the other with TYPE replaced by action for rate
4720       limiting packets sent by OpenFlow actions.
4721
4722       These statistics are reported only when controller rate limiting is en‐
4723       abled.
4724
4725       status  : packet-in-TYPE-bypassed: optional string, containing an inte‐
4726       ger, at least 0
4727              Number of packets sent directly to the controller, without queu‐
4728              ing, because the rate did not exceed the configured maximum.
4729
4730       status : packet-in-TYPE-queued: optional string, containing an integer,
4731       at least 0
4732              Number of packets added to the queue to send later.
4733
4734       status : packet-in-TYPE-dropped: optional string, containing  an  inte‐
4735       ger, at least 0
4736              Number of packets added to the queue that were later dropped due
4737              to overflow. This value is less than or equal to  status:packet-
4738              in-TYPE-queued.
4739
4740       status  :  packet-in-TYPE-backlog: optional string, containing an inte‐
4741       ger, at least 0
4742              Number of packets currently queued.  The  other  statistics  in‐
4743              crease  monotonically, but this one fluctuates between 0 and the
4744              controller_burst_limit as conditions change.
4745
4746     Additional In-Band Configuration:
4747
4748       These values are considered only in in-band control mode  (see  connec‐
4749       tion_mode).
4750
4751       When  multiple  controllers  are  configured  on a single bridge, there
4752       should be only one set of unique values in these columns. If  different
4753       values  are  set for these columns in different controllers, the effect
4754       is unspecified.
4755
4756       local_ip: optional string
4757              The  IP  address  to  configure  on   the   local   port,   e.g.
4758              192.168.0.123.  If  this  value is unset, then local_netmask and
4759              local_gateway are ignored.
4760
4761       local_netmask: optional string
4762              The  IP  netmask  to  configure  on   the   local   port,   e.g.
4763              255.255.255.0.  If local_ip is set but this value is unset, then
4764              the default is chosen based on whether the IP address  is  class
4765              A, B, or C.
4766
4767       local_gateway: optional string
4768              The IP address of the gateway to configure on the local port, as
4769              a string, e.g. 192.168.0.1. Leave this column unset if this net‐
4770              work has no gateway.
4771
4772     Controller Status:
4773
4774       is_connected: boolean
4775              true if currently connected to this controller, false otherwise.
4776
4777       role: optional string, one of master, other, or slave
4778              The  level  of  authority  this controller has on the associated
4779              bridge. Possible values are:
4780
4781              other  Allows the controller access to all OpenFlow features.
4782
4783              master Equivalent to other, except that there may be at most one
4784                     such controller at a time. If a given controller promotes
4785                     itself to this role, ovs-vswitchd  demotes  any  existing
4786                     controller with the role to slave.
4787
4788              slave  Allows  the  controller read-only access to OpenFlow fea‐
4789                     tures. Attempts to modify the flow table will be rejected
4790                     with   an   error.   Such   controllers  do  not  receive
4791                     OFPT_PACKET_IN or OFPT_FLOW_REMOVED messages, but they do
4792                     receive OFPT_PORT_STATUS messages.
4793
4794       status : last_error: optional string
4795              A human-readable description of the last error on the connection
4796              to the controller; i.e. strerror(errno).  This  key  will  exist
4797              only if an error has occurred.
4798
4799       status  :  state:  optional string, one of ACTIVE, BACKOFF, CONNECTING,
4800       IDLE, or VOID
4801              The state of the connection to the controller:
4802
4803              VOID   Connection is disabled.
4804
4805              BACKOFF
4806                     Attempting to reconnect at an increasing period.
4807
4808              CONNECTING
4809                     Attempting to connect.
4810
4811              ACTIVE Connected, remote host responsive.
4812
4813              IDLE   Connection is idle. Waiting for response to keep-alive.
4814
4815              These values may change in the future. They  are  provided  only
4816              for human consumption.
4817
4818       status  : sec_since_connect: optional string, containing an integer, at
4819       least 0
4820              The amount of time since this controller last successfully  con‐
4821              nected  to the switch (in seconds). Value is empty if controller
4822              has never successfully connected.
4823
4824       status : sec_since_disconnect: optional string, containing an  integer,
4825       at least 1
4826              The  amount of time since this controller last disconnected from
4827              the switch (in seconds). Value is empty if controller has  never
4828              disconnected.
4829
4830     Connection Parameters:
4831
4832       Additional  configuration  for  a connection between the controller and
4833       the Open vSwitch.
4834
4835       other_config : dscp: optional string, containing an integer
4836              The Differentiated Service Code Point (DSCP) is specified  using
4837              6 bits in the Type of Service (TOS) field in the IP header. DSCP
4838              provides a mechanism to classify the network traffic and provide
4839              Quality  of  Service (QoS) on IP networks. The DSCP value speci‐
4840              fied here is used when establishing the connection  between  the
4841              controller and the Open vSwitch. If no value is specified, a de‐
4842              fault value of 48 is chosen. Valid DSCP values must  be  in  the
4843              range 0 to 63.
4844
4845     Common Columns:
4846
4847       The  overall purpose of these columns is described under Common Columns
4848       at the beginning of this document.
4849
4850       external_ids: map of string-string pairs
4851
4852       other_config: map of string-string pairs
4853

Manager TABLE

4855       Configuration for a database connection to  an  Open  vSwitch  database
4856       (OVSDB) client.
4857
4858       This   table   primarily   configures   the   Open   vSwitch   database
4859       (ovsdb-server), not the Open vSwitch switch (ovs-vswitchd). The  switch
4860       does  read the table to determine what connections should be treated as
4861       in-band.
4862
4863       The Open vSwitch database server can initiate and maintain active  con‐
4864       nections  to  remote  clients.  It can also listen for database connec‐
4865       tions.
4866
4867   Summary:
4868       Core Features:
4869         target                      string (must be unique within table)
4870         connection_mode             optional  string,   either   in-band   or
4871                                     out-of-band
4872       Client Failure Detection and Handling:
4873         max_backoff                 optional integer, at least 1,000
4874         inactivity_probe            optional integer
4875       Status:
4876         is_connected                boolean
4877         status : last_error         optional string
4878         status : state              optional  string, one of ACTIVE, BACKOFF,
4879                                     CONNECTING, IDLE, or VOID
4880         status : sec_since_connect  optional string, containing  an  integer,
4881                                     at least 0
4882         status : sec_since_disconnect
4883                                     optional  string,  containing an integer,
4884                                     at least 0
4885         status : locks_held         optional string
4886         status : locks_waiting      optional string
4887         status : locks_lost         optional string
4888         status : n_connections      optional string, containing  an  integer,
4889                                     at least 2
4890         status : bound_port         optional string, containing an integer
4891       Connection Parameters:
4892         other_config : dscp         optional string, containing an integer
4893       Common Columns:
4894         external_ids                map of string-string pairs
4895         other_config                map of string-string pairs
4896
4897   Details:
4898     Core Features:
4899
4900       target: string (must be unique within table)
4901              Connection method for managers.
4902
4903              The following connection methods are currently supported:
4904
4905              ssl:host[:port]
4906                     The  specified  SSL  port  on the host at the given host,
4907                     which can either be a DNS name (if built with unbound li‐
4908                     brary)   or   an  IP  address.  The  ssl  column  in  the
4909                     Open_vSwitch table must point to a valid  SSL  configura‐
4910                     tion when this form is used.
4911
4912                     If port is not specified, it defaults to 6640.
4913
4914                     SSL  support  is  an  optional feature that is not always
4915                     built as part of Open vSwitch.
4916
4917              tcp:host[:port]
4918                     The specified TCP port on the host  at  the  given  host,
4919                     which can either be a DNS name (if built with unbound li‐
4920                     brary) or an IP address (IPv4 or IPv6).  If  host  is  an
4921                     IPv6   address,   wrap   it   in  square  brackets,  e.g.
4922                     tcp:[::1]:6640.
4923
4924                     If port is not specified, it defaults to 6640.
4925
4926              pssl:[port][:host]
4927                     Listens for SSL connections on the  specified  TCP  port.
4928                     Specify  0  for  port  to  have  the kernel automatically
4929                     choose an available port. If host, which can either be  a
4930                     DNS  name  (if  built  with unbound library) or an IP ad‐
4931                     dress, is specified, then connections are  restricted  to
4932                     the  resolved  or specified local IP address (either IPv4
4933                     or IPv6 address). If host is an  IPv6  address,  wrap  in
4934                     square  brackets,  e.g.  pssl:6640:[::1].  If host is not
4935                     specified then it listens only on IPv4 (but not IPv6) ad‐
4936                     dresses.  The  ssl  column in the Open_vSwitch table must
4937                     point to a valid SSL  configuration  when  this  form  is
4938                     used.
4939
4940                     If port is not specified, it defaults to 6640.
4941
4942                     SSL  support  is  an  optional feature that is not always
4943                     built as part of Open vSwitch.
4944
4945              ptcp:[port][:host]
4946                     Listens for connections on the specified TCP port.  Spec‐
4947                     ify 0 for port to have the kernel automatically choose an
4948                     available port. If host, which can either be a  DNS  name
4949                     (if  built  with  unbound  library)  or an IP address, is
4950                     specified, then connections are  restricted  to  the  re‐
4951                     solved or specified local IP address (either IPv4 or IPv6
4952                     address). If host is an IPv6 address, wrap it  in  square
4953                     brackets,  e.g. ptcp:6640:[::1]. If host is not specified
4954                     then it listens only on IPv4 addresses.
4955
4956                     If port is not specified, it defaults to 6640.
4957
4958              When multiple managers are configured, the target values must be
4959              unique. Duplicate target values yield unspecified results.
4960
4961       connection_mode: optional string, either in-band or out-of-band
4962              If  it  is  specified, this setting must be one of the following
4963              strings that describes how  Open  vSwitch  contacts  this  OVSDB
4964              client over the network:
4965
4966              in-band
4967                     In  this  mode,  this connection’s traffic travels over a
4968                     bridge managed by Open vSwitch. With this  setting,  Open
4969                     vSwitch  allows traffic to and from the client regardless
4970                     of the contents of the OpenFlow flow  table.  (Otherwise,
4971                     Open  vSwitch  would  never  be  able  to  connect to the
4972                     client, because it did not have a  flow  to  enable  it.)
4973                     This is the most common connection mode because it is not
4974                     necessary to maintain two independent networks.
4975
4976              out-of-band
4977                     In this mode, the client’s traffic uses a control network
4978                     separate from that managed by Open vSwitch, that is, Open
4979                     vSwitch does not use any of its own  network  devices  to
4980                     communicate  with the client. The control network must be
4981                     configured separately, before or  after  ovs-vswitchd  is
4982                     started.
4983
4984              If not specified, the default is implementation-specific.
4985
4986     Client Failure Detection and Handling:
4987
4988       max_backoff: optional integer, at least 1,000
4989              Maximum  number  of  milliseconds to wait between connection at‐
4990              tempts. Default is implementation-specific.
4991
4992       inactivity_probe: optional integer
4993              Maximum number of milliseconds of idle time on connection to the
4994              client  before  sending  an  inactivity  probe  message. If Open
4995              vSwitch does not communicate with the client for  the  specified
4996              number  of  seconds,  it will send a probe. If a response is not
4997              received for the same additional amount of  time,  Open  vSwitch
4998              assumes  the  connection  has been broken and attempts to recon‐
4999              nect. Default is implementation-specific. A value of 0  disables
5000              inactivity probes.
5001
5002     Status:
5003
5004       Key-value pair of is_connected is always updated. Other key-value pairs
5005       in the status columns may be updated depends on the target type.
5006
5007       When target specifies a connection method that listens for inbound con‐
5008       nections  (e.g.  ptcp:  or punix:), both n_connections and is_connected
5009       may also be updated while the remaining key-value pairs are omitted.
5010
5011       On the other hand, when target specifies an  outbound  connection,  all
5012       key-value  pairs  may  be  updated, except the above-mentioned two key-
5013       value pairs associated with inbound connection targets. They are  omit‐
5014       ted.
5015
5016       is_connected: boolean
5017              true if currently connected to this manager, false otherwise.
5018
5019       status : last_error: optional string
5020              A human-readable description of the last error on the connection
5021              to the manager; i.e. strerror(errno). This key will  exist  only
5022              if an error has occurred.
5023
5024       status  :  state:  optional string, one of ACTIVE, BACKOFF, CONNECTING,
5025       IDLE, or VOID
5026              The state of the connection to the manager:
5027
5028              VOID   Connection is disabled.
5029
5030              BACKOFF
5031                     Attempting to reconnect at an increasing period.
5032
5033              CONNECTING
5034                     Attempting to connect.
5035
5036              ACTIVE Connected, remote host responsive.
5037
5038              IDLE   Connection is idle. Waiting for response to keep-alive.
5039
5040              These values may change in the future. They  are  provided  only
5041              for human consumption.
5042
5043       status  : sec_since_connect: optional string, containing an integer, at
5044       least 0
5045              The amount of time since this  manager  last  successfully  con‐
5046              nected  to  the database (in seconds). Value is empty if manager
5047              has never successfully connected.
5048
5049       status : sec_since_disconnect: optional string, containing an  integer,
5050       at least 0
5051              The amount of time since this manager last disconnected from the
5052              database (in seconds). Value is empty if manager has never  dis‐
5053              connected.
5054
5055       status : locks_held: optional string
5056              Space-separated  list  of the names of OVSDB locks that the con‐
5057              nection holds. Omitted if  the  connection  does  not  hold  any
5058              locks.
5059
5060       status : locks_waiting: optional string
5061              Space-separated  list  of the names of OVSDB locks that the con‐
5062              nection is currently waiting to acquire. Omitted if the  connec‐
5063              tion is not waiting for any locks.
5064
5065       status : locks_lost: optional string
5066              Space-separated  list  of the names of OVSDB locks that the con‐
5067              nection has had stolen by another OVSDB client.  Omitted  if  no
5068              locks have been stolen from this connection.
5069
5070       status  :  n_connections:  optional  string,  containing an integer, at
5071       least 2
5072              When target specifies a connection method that listens  for  in‐
5073              bound  connections  (e.g. ptcp: or pssl:) and more than one con‐
5074              nection is actually active, the value is the  number  of  active
5075              connections. Otherwise, this key-value pair is omitted.
5076
5077       status : bound_port: optional string, containing an integer
5078              When target is ptcp: or pssl:, this is the TCP port on which the
5079              OVSDB server is listening. (This  is  particularly  useful  when
5080              target  specifies a port of 0, allowing the kernel to choose any
5081              available port.)
5082
5083     Connection Parameters:
5084
5085       Additional configuration for a connection between the manager  and  the
5086       Open vSwitch Database.
5087
5088       other_config : dscp: optional string, containing an integer
5089              The  Differentiated Service Code Point (DSCP) is specified using
5090              6 bits in the Type of Service (TOS) field in the IP header. DSCP
5091              provides a mechanism to classify the network traffic and provide
5092              Quality of Service (QoS) on IP networks. The DSCP  value  speci‐
5093              fied  here  is used when establishing the connection between the
5094              manager and the Open vSwitch. If no value is  specified,  a  de‐
5095              fault  value  of  48 is chosen. Valid DSCP values must be in the
5096              range 0 to 63.
5097
5098     Common Columns:
5099
5100       The overall purpose of these columns is described under Common  Columns
5101       at the beginning of this document.
5102
5103       external_ids: map of string-string pairs
5104
5105       other_config: map of string-string pairs
5106

NetFlow TABLE

5108       A  NetFlow  target.  NetFlow is a protocol that exports a number of de‐
5109       tails about terminating IP flows, such as the principals  involved  and
5110       duration.
5111
5112   Summary:
5113       targets                       set of 1 or more strings
5114       engine_id                     optional integer, in range 0 to 255
5115       engine_type                   optional integer, in range 0 to 255
5116       active_timeout                integer, at least -1
5117       add_id_to_interface           boolean
5118       Common Columns:
5119         external_ids                map of string-string pairs
5120
5121   Details:
5122       targets: set of 1 or more strings
5123              NetFlow  targets  in  the form ip:port. The ip must be specified
5124              numerically, not as a DNS name.
5125
5126       engine_id: optional integer, in range 0 to 255
5127              Engine ID to use in NetFlow messages. Defaults to datapath index
5128              if not specified.
5129
5130       engine_type: optional integer, in range 0 to 255
5131              Engine type to use in NetFlow messages. Defaults to datapath in‐
5132              dex if not specified.
5133
5134       active_timeout: integer, at least -1
5135              The interval at which NetFlow records are sent  for  flows  that
5136              are  still active, in seconds. A value of 0 requests the default
5137              timeout (currently 600 seconds); a value of -1  disables  active
5138              timeouts.
5139
5140              The  NetFlow passive timeout, for flows that become inactive, is
5141              not configurable. It will vary depending  on  the  Open  vSwitch
5142              version, the forms and contents of the OpenFlow flow tables, CPU
5143              and memory usage, and network activity. A typical passive  time‐
5144              out is about a second.
5145
5146       add_id_to_interface: boolean
5147              If  this  column’s value is false, the ingress and egress inter‐
5148              face fields of NetFlow flow records are  derived  from  OpenFlow
5149              port  numbers.  When  it is true, the 7 most significant bits of
5150              these fields will be replaced by the least significant 7 bits of
5151              the engine id. This is useful because many NetFlow collectors do
5152              not expect multiple switches to be  sending  messages  from  the
5153              same  host,  so  they  do not store the engine information which
5154              could be used to disambiguate the traffic.
5155
5156              When this option is enabled, a maximum of  508  ports  are  sup‐
5157              ported.
5158
5159     Common Columns:
5160
5161       The  overall purpose of these columns is described under Common Columns
5162       at the beginning of this document.
5163
5164       external_ids: map of string-string pairs
5165

Datapath TABLE

5167       Configuration for a datapath within Open_vSwitch.
5168
5169       A datapath is responsible for providing the  packet  handling  in  Open
5170       vSwitch.  There  are  two primary datapath implementations used by Open
5171       vSwitch: kernel and  userspace.  Kernel  datapath  implementations  are
5172       available  for  Linux  and Hyper-V, and selected as system in the data‐
5173       path_type column of the Bridge table. The userspace datapath is used by
5174       DPDK  and AF-XDP, and is selected as netdev in the datapath_type column
5175       of the Bridge table.
5176
5177       A datapath of a particular type is shared by all the bridges  that  use
5178       that  datapath.  Thus,  configurations applied to this table affect all
5179       bridges that use this datapath.
5180
5181   Summary:
5182       datapath_version              string
5183       ct_zones                      map  of  integer-CT_Zone  pairs,  key  in
5184                                     range 0 to 65,535
5185       Capabilities:
5186         capabilities : max_vlan_headers
5187                                     optional  string,  containing an integer,
5188                                     at least 0
5189         capabilities : recirc       optional string, either true or false
5190         capabilities : lb_output_action
5191                                     optional string, either true or false
5192         Connection-Tracking Capabilities:
5193            capabilities : ct_state  optional string, either true or false
5194            capabilities : ct_state_nat
5195                                     optional string, either true or false
5196            capabilities : ct_zone   optional string, either true or false
5197            capabilities : ct_mark   optional string, either true or false
5198            capabilities : ct_label  optional string, either true or false
5199            capabilities : ct_orig_tuple
5200                                     optional string, either true or false
5201            capabilities : ct_orig_tuple6
5202                                     optional string, either true or false
5203         capabilities : masked_set_action
5204                                     optional string, either true or false
5205         capabilities : tnl_push_pop
5206                                     optional string, either true or false
5207         capabilities : ufid         optional string, either true or false
5208         capabilities : trunc        optional string, either true or false
5209         capabilities : nd_ext       optional string, either true or false
5210         Clone Actions:
5211            capabilities : clone     optional string, either true or false
5212            capabilities : sample_nesting
5213                                     optional string, containing  an  integer,
5214                                     at least 0
5215         capabilities : ct_eventmask
5216                                     optional string, either true or false
5217         capabilities : ct_clear     optional string, either true or false
5218         capabilities : max_hash_alg
5219                                     optional  string,  containing an integer,
5220                                     at least 0
5221         capabilities : check_pkt_len
5222                                     optional string, either true or false
5223         capabilities : ct_timeout   optional string, either true or false
5224         capabilities : explicit_drop_action
5225                                     optional string, either true or false
5226       Common Columns:
5227         external_ids                map of string-string pairs
5228
5229   Details:
5230       datapath_version: string
5231              Reports the version number of the Open vSwitch datapath in  use.
5232              This  allows management software to detect and report discrepan‐
5233              cies between Open vSwitch userspace and datapath versions.  (The
5234              ovs_version  column in the Open_vSwitch reports the Open vSwitch
5235              userspace version.) The version reported depends on the datapath
5236              in use:
5237
5238              •      When  the  kernel  module  included  in  the Open vSwitch
5239                     source tree is used, this column reports the Open vSwitch
5240                     version from which the module was taken.
5241
5242              •      When the kernel module that is part of the upstream Linux
5243                     kernel is used, this column reports <unknown>.
5244
5245              •      When the datapath is built into the ovs-vswitchd  binary,
5246                     this column reports <built-in>. A built-in datapath is by
5247                     definition the same version  as  the  rest  of  the  Open
5248                     vSwitch userspace.
5249
5250              •      Other  datapaths  (such  as  the Hyper-V kernel datapath)
5251                     currently report <unknown>.
5252
5253              A version discrepancy between ovs-vswitchd and the  datapath  in
5254              use  is  not  normally  cause for alarm. The Open vSwitch kernel
5255              datapaths for Linux and Hyper-V, in particular, are designed for
5256              maximum inter-version compatibility: any userspace version works
5257              with with any kernel version. Some reasons do exist to insist on
5258              particular  user/kernel  pairings.  First, newer kernel versions
5259              add new features, that can only be used by new-enough userspace,
5260              e.g. VXLAN tunneling requires certain minimal userspace and ker‐
5261              nel versions. Second, as an extension to the first reason,  some
5262              newer kernel versions add new features for enhancing performance
5263              that only new-enough userspace versions can take advantage of.
5264
5265       ct_zones: map of integer-CT_Zone pairs, key in range 0 to 65,535
5266              Configuration for connection tracking zones. Each pair maps from
5267              a  zone  id  to a configuration for that zone. Zone 0 applies to
5268              the default zone (ie, the one used if a zone is not specified in
5269              connection tracking-related OpenFlow matches and actions).
5270
5271     Capabilities:
5272
5273       The  capabilities  column reports a datapath’s features. For the netdev
5274       datapath, the capabilities are  fixed  for  a  given  version  of  Open
5275       vSwitch  because  this  datapath is built into the ovs-vswitchd binary.
5276       The Linux kernel and Windows and other datapaths, which are external to
5277       OVS  userspace, can vary in version and capabilities independently from
5278       ovs-vswitchd.
5279
5280       Some of these features indicate whether higher-level Open vSwitch  fea‐
5281       tures  are  available.  For  example, OpenFlow features for connection-
5282       tracking are available only when capabilities:ct_state is true. A  con‐
5283       troller  that wishes to determine whether a feature is supported could,
5284       therefore, consult the relevant capabilities in this table. However, as
5285       a general rule, it is better for a controller to try to use the higher-
5286       level feature and use the result as an indication of support, since the
5287       low-level  capabilities  are  more  likely  to shift over time than the
5288       high-level features that rely on them.
5289
5290       capabilities : max_vlan_headers: optional string, containing  an  inte‐
5291       ger, at least 0
5292              Number  of  802.1q  VLAN  headers  supported by the datapath, as
5293              probed by the ovs-vswitchd slow path. If the  datapath  supports
5294              more  VLAN  headers  than  the  slow path, this reports the slow
5295              path’s  limit.  The  value  of  other-config:vlan-limit  in  the
5296              Open_vSwitch table does not influence the number reported here.
5297
5298       capabilities : recirc: optional string, either true or false
5299              If  this  is  true,  then  the  datapath supports recirculation,
5300              specifically   OVS_KEY_ATTR_RECIRC_ID.   Recirculation   enables
5301              higher  performance  for  MPLS  and active-active load balancing
5302              bonding modes.
5303
5304       capabilities : lb_output_action: optional string, either true or false
5305              If this is true, then the datapath supports  optimized  balance-
5306              tcp bond mode. This capability replaces existing hash and recirc
5307              actions with new action lb_output and  avoids  recirculation  of
5308              packet  in  datapath.  It is supported only for balance-tcp bond
5309              mode in netdev datapath. The new action gives higer  performance
5310              by  using  bond  buckets instead of post recirculation flows for
5311              selection of slave port from bond. By default this new action is
5312              disabled,  however it can be enabled by setting other-config:lb-
5313              output-action in Port table.
5314
5315     Connection-Tracking Capabilities:
5316
5317       These capabilities are granular because Open vSwitch and its  datapaths
5318       added  support for connection tracking over several releases, with fea‐
5319       tures added individually over that time.
5320
5321       capabilities : ct_state: optional string, either true or false
5322              If true, datapath supports  OVS_KEY_ATTR_CT_STATE,  which  indi‐
5323              cates  support  for the bits in the OpenFlow ct_state field (see
5324              ovs-fields(7)) other than snat and dnat, which have  a  separate
5325              capability.
5326
5327              If  this  is  false,  the  datapath does not support connection-
5328              tracking at all and the remaining connection-tracking  capabili‐
5329              ties should all be false. In this case, Open vSwitch will reject
5330              flows that match on the ct_state field or use the ct action.
5331
5332       capabilities : ct_state_nat: optional string, either true or false
5333              If true, it means that the datapath supports the snat  and  dnat
5334              flags  in  the  OpenFlow ct_state field. The ct_state capability
5335              must be true for this to make sense.
5336
5337              If false, Open vSwitch will reject flows that match on the  snat
5338              or dnat bits in ct_state or use nat in the ct action.
5339
5340       capabilities : ct_zone: optional string, either true or false
5341              If  true, datapath supports OVS_KEY_ATTR_CT_ZONE. If false, Open
5342              vSwitch rejects flows that match on the ct_zone  field  or  that
5343              specify a nonzero zone or a zone field on the ct action.
5344
5345       capabilities : ct_mark: optional string, either true or false
5346              If  true, datapath supports OVS_KEY_ATTR_CT_MARK. If false, Open
5347              vSwitch rejects flows that match on the ct_mark  field  or  that
5348              set ct_mark in the ct action.
5349
5350       capabilities : ct_label: optional string, either true or false
5351              If true, datapath supports OVS_KEY_ATTR_CT_LABEL. If false, Open
5352              vSwitch rejects flows that match on the ct_label field  or  that
5353              set ct_label in the ct action.
5354
5355       capabilities : ct_orig_tuple: optional string, either true or false
5356              If  true,  the  datapath  supports matching the 5-tuple from the
5357              connection’s original direction for IPv4 traffic. If false, Open
5358              vSwitch rejects flows that match on ct_nw_src or ct_nw_dst, that
5359              use the ct feature of the resubmit action, or the force  keyword
5360              in  the ct action. (The latter isn’t tied to connection tracking
5361              support of original tuples in any technical way. They  are  con‐
5362              flated  because  all  current datapaths implemented the two fea‐
5363              tures at the same time.)
5364
5365              If this and capabilities:ct_orig_tuple6  are  both  false,  Open
5366              vSwitch  rejects  flows that match on ct_nw_proto, ct_tp_src, or
5367              ct_tp_dst.
5368
5369       capabilities : ct_orig_tuple6: optional string, either true or false
5370              If true, the datapath supports matching  the  5-tuple  from  the
5371              connection’s original direction for IPv6 traffic. If false, Open
5372              vSwitch rejects flows that match on ct_ipv6_src or ct_ipv6_dst.
5373
5374       capabilities : masked_set_action: optional string, either true or false
5375              True if the datapath supports masked data in OVS_ACTION_ATTR_SET
5376              actions.   Masked  data  can  improve  performance  by  allowing
5377              megaflows to match on fewer fields.
5378
5379       capabilities : tnl_push_pop: optional string, either true or false
5380              True if the datapath supports tnl_push and pop actions. This  is
5381              a prerequisite for a datapath to support native tunneling.
5382
5383       capabilities : ufid: optional string, either true or false
5384              True  if  the datapath supports OVS_FLOW_ATTR_UFID. UFID support
5385              improves revalidation performance by transferring less data  be‐
5386              tween the slow path and the datapath.
5387
5388       capabilities : trunc: optional string, either true or false
5389              True  if  the datapath supports OVS_ACTION_ATTR_TRUNC action. If
5390              false, the output action with packet truncation  requires  every
5391              packet to be sent to the Open vSwitch slow path, which is likely
5392              to make it too slow for mirroring traffic in bulk.
5393
5394       capabilities : nd_ext: optional string, either true or false
5395              True if  the  datapath  supports  OVS_KEY_ATTR_ND_EXTENSIONS  to
5396              match  on  ICMPv6  "ND  reserved"  and  "ND  option type" header
5397              fields. If false, the datapath reports error if the  feature  is
5398              used.
5399
5400     Clone Actions:
5401
5402       When  Open  vSwitch  translates actions from OpenFlow into the datapath
5403       representation, some of the datapath actions may modify the  packet  or
5404       have  other  side  effects  that later datapath actions can’t undo. The
5405       OpenFlow  ct,  meter,  output  with  truncation,  encap,   decap,   and
5406       dec_nsh_ttl actions fall into this category. Often, this is not a prob‐
5407       lem because nothing later on needs the original packet.
5408
5409       Such actions can, however, occur in circumstances where the translation
5410       does  require  the original packet. For example, an OpenFlow output ac‐
5411       tion might direct a packet to a patch port, which might in turn lead to
5412       a ct action that NATs the packet (which cannot be undone), and then af‐
5413       terward when control flow pops back across the patch  port  some  other
5414       action might need to act on the original packet.
5415
5416       Open  vSwitch  has  two different ways to implement this ``save and re‐
5417       store’’ via datapath actions. These  capabilities  indicate  which  one
5418       Open  vSwitch will choose. When neither is available, Open vSwitch sim‐
5419       ply fails in situations that require this feature.
5420
5421       capabilities : clone: optional string, either true or false
5422              True if the datapath supports OVS_ACTION_ATTR_CLONE action. This
5423              is  the preferred option for saving and restoring packets, since
5424              it is intended for the purpose, but old datapaths do not support
5425              it. Open vSwitch will use it whenever it is available.
5426
5427              (The  OpenFlow  clone  action  does  not  always yield a OVS_AC‐
5428              TION_ATTR_CLONE action. It only does so when the  datapath  sup‐
5429              ports it and the clone brackets actions that otherwise cannot be
5430              undone.)
5431
5432       capabilities : sample_nesting: optional string, containing an  integer,
5433       at least 0
5434              Maximum  level  of nesting allowed by OVS_ACTION_ATTR_SAMPLE ac‐
5435              tion. Open vSwitch misuses this action for saving and  restoring
5436              packets when the datapath supports more than 3 levels of nesting
5437              and OVS_ACTION_ATTR_CLONE is not available.
5438
5439       capabilities : ct_eventmask: optional string, either true or false
5440              True if the datapath’s OVS_ACTION_ATTR_CT action implements  the
5441              OVS_CT_ATTR_EVENTMASK attribute. When this is true, Open vSwitch
5442              uses the event mask feature to limit the  kinds  of  events  re‐
5443              ported  to conntrack update listeners. When Open vSwitch doesn’t
5444              limit the event mask, listeners receive reports of numerous usu‐
5445              ally  unimportant  events,  such  as  TCP state machine changes,
5446              which can waste CPU time.
5447
5448       capabilities : ct_clear: optional string, either true or false
5449              True if the datapath supports  OVS_ACTION_ATTR_CT_CLEAR  action.
5450              If  false,  the  OpenFlow  ct_clear  action has no effect on the
5451              datapath.
5452
5453       capabilities : max_hash_alg: optional string, containing an integer, at
5454       least 0
5455              Highest supported dp_hash algorithm. This allows Open vSwitch to
5456              avoid requesting a packet hash that the datapath does  not  sup‐
5457              port.
5458
5459       capabilities : check_pkt_len: optional string, either true or false
5460              True  if the datapath supports OVS_ACTION_ATTR_CHECK_PKT_LEN. If
5461              false, Open vSwitch implements the  check_pkt_larger  action  by
5462              sending  every  packet through the Open vSwitch slow path, which
5463              is likely to make it too slow for handling traffic in bulk.
5464
5465       capabilities : ct_timeout: optional string, either true or false
5466              True if the datapath supports OVS_CT_ATTR_TIMEOUT in the OVS_AC‐
5467              TION_ATTR_CT  action.  If  false,  Open vswitch cannot implement
5468              timeout policies based on connection tracking zones, as  config‐
5469              ured through the CT_Timeout_Policy table.
5470
5471       capabilities  :  explicit_drop_action:  optional string, either true or
5472       false
5473              True if the datapath supports  OVS_ACTION_ATTR_DROP.  If  false,
5474              explicit drop action will not be sent to the datapath.
5475
5476     Common Columns:
5477
5478       The  overall purpose of these columns is described under Common Columns
5479       at the beginning of this document.
5480
5481       external_ids: map of string-string pairs
5482

CT_Zone TABLE

5484       Connection tracking zone configuration
5485
5486   Summary:
5487       timeout_policy                optional CT_Timeout_Policy
5488       Common Columns:
5489         external_ids                map of string-string pairs
5490
5491   Details:
5492       timeout_policy: optional CT_Timeout_Policy
5493              Connection tracking timeout policy for this zone. If  a  timeout
5494              policy  is  not  specified, it defaults to the timeout policy in
5495              the system.
5496
5497     Common Columns:
5498
5499       The overall purpose of these columns is described under Common  Columns
5500       at the beginning of this document.
5501
5502       external_ids: map of string-string pairs
5503

CT_Timeout_Policy TABLE

5505       Connection tracking timeout policy configuration
5506
5507   Summary:
5508       Timeouts:
5509         timeouts                    map  of  string-integer pairs, key one of
5510                                     icmp_first,    icmp_reply,     tcp_close,
5511                                     tcp_close_wait,          tcp_established,
5512                                     tcp_fin_wait, tcp_last_ack,  tcp_retrans‐
5513                                     mit,     tcp_syn_recv,     tcp_syn_sent2,
5514                                     tcp_syn_sent,  tcp_time_wait,  tcp_unack,
5515                                     udp_first,  udp_multiple,  or udp_single,
5516                                     value in range 0 to 4,294,967,295
5517         TCP Timeouts:
5518            timeouts : tcp_syn_sent  optional   integer,   in   range   0   to
5519                                     4,294,967,295
5520            timeouts : tcp_syn_recv  optional   integer,   in   range   0   to
5521                                     4,294,967,295
5522            timeouts : tcp_established
5523                                     optional   integer,   in   range   0   to
5524                                     4,294,967,295
5525            timeouts : tcp_fin_wait  optional   integer,   in   range   0   to
5526                                     4,294,967,295
5527            timeouts : tcp_close_wait
5528                                     optional   integer,   in   range   0   to
5529                                     4,294,967,295
5530            timeouts : tcp_last_ack  optional   integer,   in   range   0   to
5531                                     4,294,967,295
5532            timeouts : tcp_time_wait optional   integer,   in   range   0   to
5533                                     4,294,967,295
5534            timeouts : tcp_close     optional   integer,   in   range   0   to
5535                                     4,294,967,295
5536            timeouts : tcp_syn_sent2 optional   integer,   in   range   0   to
5537                                     4,294,967,295
5538            timeouts : tcp_retransmit
5539                                     optional   integer,   in   range   0   to
5540                                     4,294,967,295
5541            timeouts : tcp_unack     optional   integer,   in   range   0   to
5542                                     4,294,967,295
5543         UDP Timeouts:
5544            timeouts : udp_first     optional   integer,   in   range   0   to
5545                                     4,294,967,295
5546            timeouts : udp_single    optional   integer,   in   range   0   to
5547                                     4,294,967,295
5548            timeouts : udp_multiple  optional   integer,   in   range   0   to
5549                                     4,294,967,295
5550         ICMP Timeouts:
5551            timeouts : icmp_first    optional   integer,   in   range   0   to
5552                                     4,294,967,295
5553            timeouts : icmp_reply    optional   integer,   in   range   0   to
5554                                     4,294,967,295
5555       Common Columns:
5556         external_ids                map of string-string pairs
5557
5558   Details:
5559     Timeouts:
5560
5561       timeouts: map of string-integer pairs, key one of icmp_first,  icmp_re‐
5562       ply,    tcp_close,   tcp_close_wait,   tcp_established,   tcp_fin_wait,
5563       tcp_last_ack,     tcp_retransmit,     tcp_syn_recv,      tcp_syn_sent2,
5564       tcp_syn_sent,  tcp_time_wait,  tcp_unack,  udp_first,  udp_multiple, or
5565       udp_single, value in range 0 to 4,294,967,295
5566              The timeouts column contains key-value pairs used  to  configure
5567              connection tracking timeouts in a datapath. Key-value pairs that
5568              are not supported by a datapath are ignored. The  timeout  value
5569              is in seconds.
5570
5571     TCP Timeouts:
5572
5573       timeouts : tcp_syn_sent: optional integer, in range 0 to 4,294,967,295
5574              The  timeout  for  the connection after the first TCP SYN packet
5575              has been seen by conntrack.
5576
5577       timeouts : tcp_syn_recv: optional integer, in range 0 to 4,294,967,295
5578              The timeout of the connection after the first TCP SYN-ACK packet
5579              has been seen by conntrack.
5580
5581       timeouts   :   tcp_established:   optional   integer,  in  range  0  to
5582       4,294,967,295
5583              The timeout of the connection  after  the  connection  has  been
5584              fully established.
5585
5586       timeouts : tcp_fin_wait: optional integer, in range 0 to 4,294,967,295
5587              The timeout of the connection after the first TCP FIN packet has
5588              been seen by conntrack.
5589
5590       timeouts  :  tcp_close_wait:  optional   integer,   in   range   0   to
5591       4,294,967,295
5592              The timeout of the connection after the first TCP ACK packet has
5593              been seen after it receives TCP FIN packet. This timeout is only
5594              supported by the Linux kernel datapath.
5595
5596       timeouts : tcp_last_ack: optional integer, in range 0 to 4,294,967,295
5597              The  timeout  of  the connection after TCP FIN packets have been
5598              seen by conntrack from both directions.  This  timeout  is  only
5599              supported by the Linux kernel datapath.
5600
5601       timeouts : tcp_time_wait: optional integer, in range 0 to 4,294,967,295
5602              The  timeout  of the connection after conntrack has seen the TCP
5603              ACK packet for the second TCP FIN packet.
5604
5605       timeouts : tcp_close: optional integer, in range 0 to 4,294,967,295
5606              The timeout of the connection after the first TCP RST packet has
5607              been seen by conntrack.
5608
5609       timeouts : tcp_syn_sent2: optional integer, in range 0 to 4,294,967,295
5610              The  timeout  of  the  connection when only a TCP SYN packet has
5611              been seen by conntrack from both directions (simultaneous open).
5612              This timeout is only supported by the Linux kernel datapath.
5613
5614       timeouts   :   tcp_retransmit:   optional   integer,   in  range  0  to
5615       4,294,967,295
5616              The timeout of the connection when it exceeds the maximum number
5617              of  retransmissions. This timeout is only supported by the Linux
5618              kernel datapath.
5619
5620       timeouts : tcp_unack: optional integer, in range 0 to 4,294,967,295
5621              The timeout of the connection when non-SYN packets create an es‐
5622              tablished connection in TCP loose tracking mode. This timeout is
5623              only supported by the Linux kernel datapath.
5624
5625     UDP Timeouts:
5626
5627       timeouts : udp_first: optional integer, in range 0 to 4,294,967,295
5628              The timeout of the connection after the  first  UDP  packet  has
5629              been  seen  by  conntrack. This timeout is only supported by the
5630              userspace datapath.
5631
5632       timeouts : udp_single: optional integer, in range 0 to 4,294,967,295
5633              The timeout of the  connection  when  conntrack  only  seen  UDP
5634              packet  from the source host, but the destination host has never
5635              sent one back.
5636
5637       timeouts : udp_multiple: optional integer, in range 0 to 4,294,967,295
5638              The timeout of the connection when UDP packets have been seen in
5639              both directions.
5640
5641     ICMP Timeouts:
5642
5643       timeouts : icmp_first: optional integer, in range 0 to 4,294,967,295
5644              The  timeout  of  the connection after the first ICMP packet has
5645              been seen by conntrack.
5646
5647       timeouts : icmp_reply: optional integer, in range 0 to 4,294,967,295
5648              The timeout of the connection when ICMP packets have  been  seen
5649              in  both  direction.  This  timeout  is  only  supported  by the
5650              userspace datapath.
5651
5652     Common Columns:
5653
5654       The overall purpose of these columns is described under Common  Columns
5655       at the beginning of this document.
5656
5657       external_ids: map of string-string pairs
5658

SSL TABLE

5660       SSL configuration for an Open_vSwitch.
5661
5662   Summary:
5663       private_key                   string
5664       certificate                   string
5665       ca_cert                       string
5666       bootstrap_ca_cert             boolean
5667       Common Columns:
5668         external_ids                map of string-string pairs
5669
5670   Details:
5671       private_key: string
5672              Name  of  a  PEM  file  containing  the  private key used as the
5673              switch’s identity for SSL connections to the controller.
5674
5675       certificate: string
5676              Name of a PEM file containing a certificate, signed by the  cer‐
5677              tificate authority (CA) used by the controller and manager, that
5678              certifies the switch’s private key,  identifying  a  trustworthy
5679              switch.
5680
5681       ca_cert: string
5682              Name  of a PEM file containing the CA certificate used to verify
5683              that the switch is connected to a trustworthy controller.
5684
5685       bootstrap_ca_cert: boolean
5686              If set to true, then Open vSwitch will attempt to obtain the  CA
5687              certificate  from the controller on its first SSL connection and
5688              save it to the named PEM file. If it is successful, it will  im‐
5689              mediately  drop  the  connection and reconnect, and from then on
5690              all SSL connections  must  be  authenticated  by  a  certificate
5691              signed  by the CA certificate thus obtained. This option exposes
5692              the SSL connection to a man-in-the-middle attack  obtaining  the
5693              initial  CA  certificate.  It may still be useful for bootstrap‐
5694              ping.
5695
5696     Common Columns:
5697
5698       The overall purpose of these columns is described under Common  Columns
5699       at the beginning of this document.
5700
5701       external_ids: map of string-string pairs
5702

sFlow TABLE

5704       A set of sFlow(R) targets. sFlow is a protocol for remote monitoring of
5705       switches.
5706
5707   Summary:
5708       agent                         optional string
5709       header                        optional integer
5710       polling                       optional integer
5711       sampling                      optional integer
5712       targets                       set of 1 or more strings
5713       Common Columns:
5714         external_ids                map of string-string pairs
5715
5716   Details:
5717       agent: optional string
5718              Determines the agent address, that is, the IP  address  reported
5719              to  collectors  as the source of the sFlow data. It may be an IP
5720              address or the name of a network device. In the latter case, the
5721              network device’s IP address is used,
5722
5723              If  not  specified,  the  agent device is figured from the first
5724              target address and the routing table. If the routing table  does
5725              not  contain  a  route to the target, the IP address defaults to
5726              the local_ip in the collector’s Controller.
5727
5728              If an agent IP address cannot be determined, sFlow is disabled.
5729
5730       header: optional integer
5731              Number of bytes of a sampled packet to send to the collector. If
5732              not specified, the default is 128 bytes.
5733
5734       polling: optional integer
5735              Polling  rate  in seconds to send port statistics to the collec‐
5736              tor. If not specified, defaults to 30 seconds.
5737
5738       sampling: optional integer
5739              Rate at which packets should be sampled and sent to the  collec‐
5740              tor.  If  not specified, defaults to 400, which means one out of
5741              400 packets, on average, will be sent to the collector.
5742
5743       targets: set of 1 or more strings
5744              sFlow targets in the form ip:port.
5745
5746     Common Columns:
5747
5748       The overall purpose of these columns is described under Common  Columns
5749       at the beginning of this document.
5750
5751       external_ids: map of string-string pairs
5752

IPFIX TABLE

5754       Configuration for sending packets to IPFIX collectors.
5755
5756       IPFIX  is  a protocol that exports a number of details about flows. The
5757       IPFIX implementation in Open vSwitch samples packets at a  configurable
5758       rate,  extracts  flow information from those packets, optionally caches
5759       and aggregates the flow information, and sends the  result  to  one  or
5760       more collectors.
5761
5762       IPFIX in Open vSwitch can be configured two different ways:
5763
5764              •      With  per-bridge  sampling,  Open  vSwitch performs IPFIX
5765                     sampling automatically on all packets that pass through a
5766                     bridge. To configure per-bridge sampling, create an IPFIX
5767                     record and point a Bridge table’s ipfix column to it. The
5768                     Flow_Sample_Collector_Set  table  is  not  used  for per-
5769                     bridge sampling.
5770
5771              •      With flow-based sampling, sample actions in the  OpenFlow
5772                     flow table drive IPFIX sampling. See ovs-actions(7) for a
5773                     description of the sample action.
5774
5775                     Flow-based sampling also requires database configuration:
5776                     create a IPFIX record that describes the IPFIX configura‐
5777                     tion and a Flow_Sample_Collector_Set record  that  points
5778                     to  the  Bridge whose flow table holds the sample actions
5779                     and to IPFIX record. The ipfix in the Bridge table is not
5780                     used for flow-based sampling.
5781
5782   Summary:
5783       targets                       set of strings
5784       cache_active_timeout          optional integer, in range 0 to 4,200
5785       cache_max_flows               optional   integer,   in   range   0   to
5786                                     4,294,967,295
5787       other_config : enable-tunnel-sampling
5788                                     optional string, either true or false
5789       other_config : virtual_obs_id optional string
5790       Per-Bridge Sampling:
5791         sampling                    optional   integer,   in   range   1   to
5792                                     4,294,967,295
5793         obs_domain_id               optional   integer,   in   range   0   to
5794                                     4,294,967,295
5795         obs_point_id                optional   integer,   in   range   0   to
5796                                     4,294,967,295
5797         other_config : enable-input-sampling
5798                                     optional string, either true or false
5799         other_config : enable-output-sampling
5800                                     optional string, either true or false
5801       Common Columns:
5802         external_ids                map of string-string pairs
5803
5804   Details:
5805       targets: set of strings
5806              IPFIX target collectors in the form ip:port.
5807
5808       cache_active_timeout: optional integer, in range 0 to 4,200
5809              The  maximum period in seconds for which an IPFIX flow record is
5810              cached and aggregated before being sent. If not  specified,  de‐
5811              faults to 0. If 0, caching is disabled.
5812
5813       cache_max_flows: optional integer, in range 0 to 4,294,967,295
5814              The maximum number of IPFIX flow records that can be cached at a
5815              time. If not specified, defaults to 0. If  0,  caching  is  dis‐
5816              abled.
5817
5818       other_config  : enable-tunnel-sampling: optional string, either true or
5819       false
5820              Set to true to enable sampling and reporting tunnel header 7-tu‐
5821              ples  in  IPFIX  flow records. Tunnel sampling is enabled by de‐
5822              fault.
5823
5824              The following enterprise  entities  report  the  sampled  tunnel
5825              info:
5826
5827              tunnelType:
5828                     ID: 891, and enterprise ID 6876 (VMware).
5829
5830                     type: unsigned 8-bit integer.
5831
5832                     data type semantics: identifier.
5833
5834                     description:  Identifier  of  the layer 2 network overlay
5835                     network encapsulation type: 0x01 VxLAN,  0x02  GRE,  0x03
5836                     LISP, 0x07 GENEVE.
5837
5838              tunnelKey:
5839                     ID: 892, and enterprise ID 6876 (VMware).
5840
5841                     type: variable-length octetarray.
5842
5843                     data type semantics: identifier.
5844
5845                     description:  Key  which is used for identifying an indi‐
5846                     vidual traffic flow within a VxLAN (24-bit  VNI),  GENEVE
5847                     (24-bit  VNI), GRE (32-bit key), or LISP (24-bit instance
5848                     ID) tunnel. The key is encoded in this  octetarray  as  a
5849                     3-, 4-, or 8-byte integer ID in network byte order.
5850
5851              tunnelSourceIPv4Address:
5852                     ID: 893, and enterprise ID 6876 (VMware).
5853
5854                     type: unsigned 32-bit integer.
5855
5856                     data type semantics: identifier.
5857
5858                     description:  The  IPv4  source  address in the tunnel IP
5859                     packet header.
5860
5861              tunnelDestinationIPv4Address:
5862                     ID: 894, and enterprise ID 6876 (VMware).
5863
5864                     type: unsigned 32-bit integer.
5865
5866                     data type semantics: identifier.
5867
5868                     description: The IPv4 destination address in  the  tunnel
5869                     IP packet header.
5870
5871              tunnelProtocolIdentifier:
5872                     ID: 895, and enterprise ID 6876 (VMware).
5873
5874                     type: unsigned 8-bit integer.
5875
5876                     data type semantics: identifier.
5877
5878                     description: The value of the protocol number in the tun‐
5879                     nel IP packet header. The protocol number identifies  the
5880                     tunnel IP packet payload type.
5881
5882              tunnelSourceTransportPort:
5883                     ID: 896, and enterprise ID 6876 (VMware).
5884
5885                     type: unsigned 16-bit integer.
5886
5887                     data type semantics: identifier.
5888
5889                     description:  The  source  port  identifier in the tunnel
5890                     transport header. For the transport protocols  UDP,  TCP,
5891                     and SCTP, this is the source port number given in the re‐
5892                     spective header.
5893
5894              tunnelDestinationTransportPort:
5895                     ID: 897, and enterprise ID 6876 (VMware).
5896
5897                     type: unsigned 16-bit integer.
5898
5899                     data type semantics: identifier.
5900
5901                     description: The destination port identifier in the  tun‐
5902                     nel  transport  header.  For the transport protocols UDP,
5903                     TCP, and SCTP, this is the destination port number  given
5904                     in the respective header.
5905
5906              Before  Open vSwitch 2.5.90, other_config:enable-tunnel-sampling
5907              was only supported with per-bridge sampling, and ignored  other‐
5908              wise. Open vSwitch 2.5.90 and later support other_config:enable-
5909              tunnel-sampling for per-bridge and per-flow sampling.
5910
5911       other_config : virtual_obs_id: optional string
5912              A string that accompanies each IPFIX flow record.  Its  intended
5913              use  is  for  the ``virtual observation ID,’’ an identifier of a
5914              virtual observation point that is locally unique  in  a  virtual
5915              network. It describes a location in the virtual network where IP
5916              packets can be observed. The maximum length is 254 bytes. If not
5917              specified, the field is omitted from the IPFIX flow record.
5918
5919              The  following  enterprise  entity reports the specified virtual
5920              observation ID:
5921
5922              virtualObsID:
5923                     ID: 898, and enterprise ID 6876 (VMware).
5924
5925                     type: variable-length string.
5926
5927                     data type semantics: identifier.
5928
5929                     description: A virtual observation domain ID that is  lo‐
5930                     cally unique in a virtual network.
5931
5932              This feature was introduced in Open vSwitch 2.5.90.
5933
5934     Per-Bridge Sampling:
5935
5936       These  values affect only per-bridge sampling. See above for a descrip‐
5937       tion of the differences between per-bridge and flow-based sampling.
5938
5939       sampling: optional integer, in range 1 to 4,294,967,295
5940              The rate at which packets should be sampled  and  sent  to  each
5941              target collector. If not specified, defaults to 400, which means
5942              one out of 400 packets, on average, will be sent to each  target
5943              collector.
5944
5945       obs_domain_id: optional integer, in range 0 to 4,294,967,295
5946              The  IPFIX  Observation  Domain ID sent in each IPFIX packet. If
5947              not specified, defaults to 0.
5948
5949       obs_point_id: optional integer, in range 0 to 4,294,967,295
5950              The IPFIX Observation Point ID sent in each IPFIX  flow  record.
5951              If not specified, defaults to 0.
5952
5953       other_config  :  enable-input-sampling: optional string, either true or
5954       false
5955              By default, Open vSwitch samples and  reports  flows  at  bridge
5956              port  input  in  IPFIX flow records. Set this column to false to
5957              disable input sampling.
5958
5959       other_config : enable-output-sampling: optional string, either true  or
5960       false
5961              By  default,  Open  vSwitch  samples and reports flows at bridge
5962              port output in IPFIX flow records. Set this column to  false  to
5963              disable output sampling.
5964
5965     Common Columns:
5966
5967       The  overall purpose of these columns is described under Common Columns
5968       at the beginning of this document.
5969
5970       external_ids: map of string-string pairs
5971

Flow_Sample_Collector_Set TABLE

5973       A set of IPFIX collectors of packet samples generated by OpenFlow  sam‐
5974       ple actions. This table is used only for IPFIX flow-based sampling, not
5975       for per-bridge sampling (see the IPFIX table for a description  of  the
5976       two forms).
5977
5978   Summary:
5979       id                            integer, in range 0 to 4,294,967,295
5980       bridge                        Bridge
5981       ipfix                         optional IPFIX
5982       Common Columns:
5983         external_ids                map of string-string pairs
5984
5985   Details:
5986       id: integer, in range 0 to 4,294,967,295
5987              The  ID of this collector set, unique among the bridge’s collec‐
5988              tor sets, to be used as the collector_set_id in OpenFlow  sample
5989              actions.
5990
5991       bridge: Bridge
5992              The  bridge  into  which OpenFlow sample actions can be added to
5993              send packet samples to this set of IPFIX collectors.
5994
5995       ipfix: optional IPFIX
5996              Configuration of the set of IPFIX collectors to  send  one  flow
5997              record per sampled packet to.
5998
5999     Common Columns:
6000
6001       The  overall purpose of these columns is described under Common Columns
6002       at the beginning of this document.
6003
6004       external_ids: map of string-string pairs
6005

AutoAttach TABLE

6007       Auto Attach configuration within a bridge. The  IETF  Auto-Attach  SPBM
6008       draft  standard  describes  a compact method of using IEEE 802.1AB Link
6009       Layer Discovery Protocol (LLDP) together with a IEEE  802.1aq  Shortest
6010       Path  Bridging (SPB) network to automatically attach network devices to
6011       individual services in a SPB network. The intent here is to allow  net‐
6012       work  applications  and devices using OVS to be able to easily take ad‐
6013       vantage of features offered by industry standard SPB networks.
6014
6015       Auto Attach (AA) uses LLDP to communicate between a directly  connected
6016       Auto  Attach Client (AAC) and Auto Attach Server (AAS). The LLDP proto‐
6017       col is extended to add two new  Type-Length-Value  tuples  (TLVs).  The
6018       first  new  TLV supports the ongoing discovery of directly connected AA
6019       correspondents. Auto Attach operates by regularly transmitting AA  dis‐
6020       covery  TLVs  between  the AA client and AA server. By exchanging these
6021       discovery messages, both the AAC and AAS learn the system name and sys‐
6022       tem  description of their peer. In the OVS context, OVS operates as the
6023       AA client and the AA server resides on a switch at the edge of the  SPB
6024       network.
6025
6026       Once  AA  discovery has been completed the AAC then uses the second new
6027       TLV to deliver identifier mappings from the AAC to the AAS.  A  primary
6028       feature  of  Auto  Attach is to facilitate the mapping of VLANs defined
6029       outside the SPB network onto service ids (ISIDs) defined within the SPM
6030       network.  By doing so individual external VLANs can be mapped onto spe‐
6031       cific SPB network services. These VLAN id to ISID mappings can be  con‐
6032       figured  and  managed  locally using new options added to the ovs-vsctl
6033       command.
6034
6035       The Auto Attach OVS feature does not provide a full  implementation  of
6036       the  LLDP  protocol.  Support  for the mandatory TLVs as defined by the
6037       LLDP standard and support for the AA TLV extensions is  provided.  LLDP
6038       protocol  support  in  OVS can be enabled or disabled on a port by port
6039       basis. LLDP support is disabled by default.
6040
6041   Summary:
6042       system_name                   string
6043       system_description            string
6044       mappings                      map  of  integer-integer  pairs,  key  in
6045                                     range  0  to 16,777,215, value in range 0
6046                                     to 4,095
6047
6048   Details:
6049       system_name: string
6050              The system_name string is exported in LLDP messages.  It  should
6051              uniquely identify the bridge in the network.
6052
6053       system_description: string
6054              The  system_description  string is exported in LLDP messages. It
6055              should describe the type of software and hardware.
6056
6057       mappings: map of integer-integer pairs, key in range 0  to  16,777,215,
6058       value in range 0 to 4,095
6059              A  mapping from SPB network Individual Service Identifier (ISID)
6060              to VLAN id.
6061
6062
6063
6064Open vSwitch 2.15.0             DB Schema 8.2.0        ovs-vswitchd.conf.db(5)
Impressum