1ovs-vswitchd(8)               Open vSwitch Manual              ovs-vswitchd(8)
2
3
4

NAME

6       ovs-vswitchd - Open vSwitch daemon
7

SYNOPSIS

9       ovs-vswitchd [database]
10

DESCRIPTION

12       A  daemon that manages and controls any number of Open vSwitch switches
13       on the local machine.
14
15       The  database  argument  specifies   how   ovs-vswitchd   connects   to
16       ovsdb-server.   The  default is unix:/var/run/openvswitch/db.sock.  The
17       following forms are accepted:
18
19       ssl:ip:port
20              The specified SSL port on the host at the given ip,  which  must
21              be  expressed  as  an  IP  address (not a DNS name).  The --pri‐
22              vate-key, --certificate, and  --ca-cert  options  are  mandatory
23              when this form is used.
24
25       tcp:ip:port
26              Connect to the given TCP port on ip.
27
28       unix:file
29              Connect to the Unix domain server socket named file.
30
31       pssl:port[:ip]
32              Listen on the given SSL port for a connection.  By default, con‐
33              nections are not bound to a particular  local  IP  address,  but
34              specifying  ip  limits  connections  to those from the given ip.
35              The --private-key,  --certificate,  and  --ca-cert  options  are
36              mandatory when this form is used.
37
38       ptcp:port[:ip]
39              Listen on the given TCP port for a connection.  By default, con‐
40              nections are not bound to a particular local IP address, but  ip
41              may be specified to listen only for connections to the given ip.
42
43       punix:file
44              Listen on the Unix domain server socket named file for a connec‐
45              tion.
46
47       ovs-vswitchd retrieves its configuration from database at startup.   It
48       sets  up Open vSwitch datapaths and then operates switching across each
49       bridge described in its configuration files.  As the database  changes,
50       ovs-vswitchd automatically updates its configuration to match.
51
52       Upon  receipt of a SIGHUP signal, ovs-vswitchd reopens its log file, if
53       one was specified on the command line.
54
55       ovs-vswitchd switches may be configured with any of the following  fea‐
56       tures:
57
58       ·      L2 switching with MAC learning.
59
60       ·      NIC  bonding  with  automatic  fail-over and source MAC-based TX
61              load balancing ("SLB").
62
63       ·      802.1Q VLAN support.
64
65       ·      Port mirroring, with optional VLAN tagging.
66
67       ·      NetFlow v5 flow logging.
68
69       ·      sFlow(R) monitoring.
70
71       ·      Connectivity to an external OpenFlow controller, such as NOX.
72
73       Only a single instance of ovs-vswitchd is intended to run at a time.  A
74       single  ovs-vswitchd  can  manage any number of switch instances, up to
75       the maximum number of supported Open vSwitch datapaths.
76
77       ovs-vswitchd does all the necessary management of  Open  vSwitch  data‐
78       paths  itself.  Thus, external tools, such ovs-dpctl(8), are not needed
79       for managing datapaths in conjunction with ovs-vswitchd, and their  use
80       to modify datapaths when ovs-vswitchd is running can interfere with its
81       operation.  (ovs-dpctl may still be useful for diagnostics.)
82
83       An Open vSwitch datapath kernel module must be loaded for  ovs-vswitchd
84       to  be  useful.  Please refer to the INSTALL.Linux file included in the
85       Open vSwitch distribution for instructions on how to build and load the
86       Open vSwitch kernel module.
87

OPTIONS

89       --mlockall
90              Causes  ovs-vswitchd to call the mlockall() function, to attempt
91              to lock all of its process memory into physical RAM,  preventing
92              the kernel from paging any of its memory to disk.  This helps to
93              avoid networking interruptions due to system memory pressure.
94
95              Some systems do not support mlockall() at all, and other systems
96              only  allow  privileged users, such as the superuser, to use it.
97              ovs-vswitchd emits a log message if mlockall() is unavailable or
98              unsuccessful.
99
100       --pidfile[=pidfile]
101              Causes a file (by default, ovs-vswitchd.pid) to be created indi‐
102              cating the PID of the running process.  If the pidfile  argument
103              is  not  specified,  or  if it does not begin with /, then it is
104              created in /var/run/openvswitch.
105
106              If --pidfile is not specified, no pidfile is created.
107
108       --overwrite-pidfile
109              By default, when --pidfile is specified and the  specified  pid‐
110              file  already  exists  and  is  locked  by  a  running  process,
111              ovs-vswitchd refuses to start.  Specify  --overwrite-pidfile  to
112              cause it to instead overwrite the pidfile.
113
114              When --pidfile is not specified, this option has no effect.
115
116       --detach
117              Causes ovs-vswitchd to detach itself from the foreground session
118              and run as a  background  process.  ovs-vswitchd  detaches  only
119              after  it  has  connected to the database, retrieved the initial
120              configuration, and set up that configuration.
121
122       --monitor
123              Creates an additional process to monitor the  ovs-vswitchd  dae‐
124              mon.   If  the daemon dies due to a signal that indicates a pro‐
125              gramming error (e.g. SIGSEGV, SIGABRT), then the monitor process
126              starts a new copy of it.  If the daemon die or exits for another
127              reason, the monitor process exits.
128
129              This option is normally used with --detach, but  it  also  func‐
130              tions without it.
131
132       --no-chdir
133              By default, when --detach is specified, ovs-vswitchd changes its
134              current  working  directory  to  the  root  directory  after  it
135              detaches.   Otherwise,  invoking  ovs-vswitchd from a carelessly
136              chosen directory would prevent the administrator from unmounting
137              the file system that holds that directory.
138
139              Specifying   --no-chdir  suppresses  this  behavior,  preventing
140              ovs-vswitchd from changing its current working directory.   This
141              may  be  useful  for  collecting  core files, since it is common
142              behavior to write core dumps into the current working  directory
143              and the root directory is not a good directory to use.
144
145              This option has no effect when --detach is not specified.
146
147   Public Key Infrastructure Options
148       -p privkey.pem
149       --private-key=privkey.pem
150              Specifies  a  PEM  file  containing  the  private  key  used  as
151              ovs-vswitchd's identity for outgoing SSL connections.
152
153       -c cert.pem
154       --certificate=cert.pem
155              Specifies a PEM file containing a certificate that certifies the
156              private  key specified on -p or --private-key to be trustworthy.
157              The certificate must be signed by the certificate authority (CA)
158              that the peer in SSL connections will use to verify it.
159
160       -C cacert.pem
161       --ca-cert=cacert.pem
162              Specifies   a  PEM  file  containing  the  CA  certificate  that
163              ovs-vswitchd should use to verify certificates presented  to  it
164              by  SSL peers.  (This may be the same certificate that SSL peers
165              use to verify the certificate specified on -c or  --certificate,
166              or  it  may  be  a different one, depending on the PKI design in
167              use.)
168
169       -C none
170       --ca-cert=none
171              Disables verification of certificates presented  by  SSL  peers.
172              This  introduces a security risk, because it means that certifi‐
173              cates cannot be verified to be those of known trusted hosts.
174
175       --bootstrap-ca-cert=cacert.pem
176              When cacert.pem exists, this option has the same effect as -C or
177              --ca-cert.  If it does not exist, then ovs-vswitchd will attempt
178              to obtain the CA certificate from the SSL peer on its first  SSL
179              connection and save it to the named PEM file.  If it is success‐
180              ful, it will immediately drop the connection and reconnect,  and
181              from then on all SSL connections must be authenticated by a cer‐
182              tificate signed by the CA certificate thus obtained.
183
184              This option exposes the SSL connection  to  a  man-in-the-middle
185              attack  obtaining the initial CA certificate, but it may be use‐
186              ful for bootstrapping.
187
188              This option is only useful if the SSL peer sends its CA certifi‐
189              cate  as  part  of  the SSL certificate chain.  The SSL protocol
190              does not require the server to  send  the  CA  certificate,  but
191              ovs-controller(8)   can   be   configured  to  do  so  with  the
192              --peer-ca-cert option.
193
194              This option is mutually exclusive with -C and --ca-cert.
195
196       -v[spec]
197       --verbose=[spec]
198              Sets logging levels.  Without any spec, sets the log  level  for
199              every  module and facility to dbg.  Otherwise, spec is a list of
200              words separated by spaces or commas or colons, up  to  one  from
201              each category below:
202
203              ·      A  valid  module name, as displayed by the vlog/list com‐
204                     mand on ovs-appctl(8), limits the log level change to the
205                     specified module.
206
207              ·      syslog,  console,  or file, to limit the log level change
208                     to only to the system log, to the console, or to a  file,
209                     respectively.
210
211              ·      off,  emer,  err,  warn, info, or dbg, to control the log
212                     level.  Messages of the given severity or higher will  be
213                     logged,  and  messages of lower severity will be filtered
214                     out.  off filters out all  messages.   See  ovs-appctl(8)
215                     for a definition of each log level.
216
217              Case is not significant within spec.
218
219              Regardless  of  the  log  levels set for file, logging to a file
220              will not take place unless --log-file  is  also  specified  (see
221              below).
222
223              For compatibility with older versions of OVS, any is accepted as
224              a word but has no effect.
225
226       -v
227       --verbose
228              Sets the maximum logging verbosity level, equivalent  to  --ver‐
229              bose=dbg.
230
231       --log-file[=file]
232              Enables  logging  to  a  file.  If file is specified, then it is
233              used as the exact name for the log file.  The default  log  file
234              name    used    if    file    is   omitted   is   /var/log/open‐
235              vswitch/ovs-vswitchd.log.
236
237       -h
238       --help Prints a brief help message to the console.
239
240       -V
241       --version
242              Prints version information to the console.
243

RUNTIME MANAGEMENT COMMANDS

245       ovs-appctl(8) can send commands to a running ovs-vswitchd process.  The
246       currently supported commands are described below.  The command descrip‐
247       tions assume an understanding of how to configure Open vSwitch.
248
249   GENERAL COMMANDS
250       exit   Causes ovs-vswitchd to gracefully terminate.
251
252       qos/show interface
253              Queries the kernel for Quality of Service configuration and sta‐
254              tistics associated with the given interface.
255
256       bfd/show [interface]
257              Displays  detailed  information  about  Bidirectional Forwarding
258              Detection configured on interface.  If interface is  not  speci‐
259              fied,  then  displays  detailed information about all interfaces
260              with BFD enabled.
261
262       bfd/set-forwarding [interface] status
263              Force the fault status of the BFD module on  interface  (or  all
264              interfaces  if  none  is  given)  to  be  status.  status can be
265              "true", "false", or  "normal"  which  reverts  to  the  standard
266              behavior.
267
268       cfm/show [interface]
269              Displays  detailed  information about Connectivity Fault Manage‐
270              ment configured on interface.  If interface  is  not  specified,
271              then displays detailed information about all interfaces with CFM
272              enabled.
273
274       cfm/set-fault [interface] status
275              Force the fault status of the CFM module on  interface  (or  all
276              interfaces  if  none  is  given)  to  be  status.  status can be
277              "true", "false", or  "normal"  which  reverts  to  the  standard
278              behavior.
279
280       stp/tcn [bridge]
281              Forces  a  topology  change event on bridge if it's running STP.
282              This may cause it to send Topology Change Notifications  to  its
283              peers and flush its MAC table..  If no bridge is given, forces a
284              topology change event on all bridges.
285
286   BRIDGE COMMANDS
287       These commands manage bridges.
288
289       fdb/flush [bridge]
290              Flushes bridge MAC  address  learning  table,  or  all  learning
291              tables if no bridge is given.
292
293       fdb/show bridge
294              Lists  each  MAC  address/VLAN  pair  learned  by  the specified
295              bridge, along with the port on which it was learned and the  age
296              of the entry, in seconds.
297
298       bridge/reconnect [bridge]
299              Makes bridge drop all of its OpenFlow controller connections and
300              reconnect.  If bridge is not specified, then  all  bridges  drop
301              their controller connections and reconnect.
302
303              This  command  might be useful for debugging OpenFlow controller
304              issues.
305
306       bridge/dump-flows bridge
307              Lists all flows in bridge, including those  normally  hidden  to
308              commands  such  as ovs-ofctl dump-flows.  Flows set up by mecha‐
309              nisms such as in-band control and fail-open are hidden from  the
310              controller since it is not allowed to modify or override them.
311
312   BOND COMMANDS
313       These  commands  manage  bonded ports on an Open vSwitch's bridges.  To
314       understand some of these commands, it  is  important  to  understand  a
315       detail  of  the bonding implementation called ``source load balancing''
316       (SLB).  Instead of directly  assigning  Ethernet  source  addresses  to
317       slaves,  the  bonding  implementation  computes a function that maps an
318       48-bit Ethernet source addresses into an 8-bit value  (a  ``MAC  hash''
319       value).  All of the Ethernet addresses that map to a single 8-bit value
320       are then assigned to a single slave.
321
322       bond/list
323              Lists all of the bonds, and their slaves, on each bridge.
324
325       bond/show [port]
326              Lists all of the bond-specific information (updelay,  downdelay,
327              time  until  the next rebalance) about the given bonded port, or
328              all bonded ports if no port is given.   Also  lists  information
329              about each slave: whether it is enabled or disabled, the time to
330              completion of an updelay or downdelay if  one  is  in  progress,
331              whether  it  is  the  active  slave,  the hashes assigned to the
332              slave.  Any LACP information related to this bond may  be  found
333              using the lacp/show command.
334
335       bond/migrate port hash slave
336              Only  valid  for  SLB  bonds.  Assigns a given MAC hash to a new
337              slave.  port specifies the bond port, hash the MAC  hash  to  be
338              migrated  (as a decimal number between 0 and 255), and slave the
339              new slave to be assigned.
340
341              The reassignment is not permanent: rebalancing or fail-over will
342              cause  the  MAC  hash  to be shifted to a new slave in the usual
343              manner.
344
345              A MAC hash cannot be migrated to a disabled slave.
346
347       bond/set-active-slave port slave
348              Sets slave as the active slave on port.  slave must currently be
349              enabled.
350
351              The  setting  is  not  permanent:  a  new  active  slave will be
352              selected if slave becomes disabled.
353
354       bond/enable-slave port slave
355       bond/disable-slave port slave
356              Enables (or disables) slave on the given bond port, skipping any
357              updelay (or downdelay).
358
359              This  setting  is not permanent: it persists only until the car‐
360              rier status of slave changes.
361
362       bond/hash mac [vlan] [basis]
363              Returns the hash value which would be used for mac with vlan and
364              basis if specified.
365
366       lacp/show [port]
367              Lists  all of the LACP related information about the given port:
368              active or passive, aggregation key, system id, and system prior‐
369              ity.   Also  lists  information  about each slave: whether it is
370              enabled or disabled, whether it is attached or detached, port id
371              and  priority,  actor  information, and partner information.  If
372              port is not specified, then displays detailed information  about
373              all interfaces with CFM enabled.
374
375   DATAPATH COMMANDS
376       These  commands  manage logical datapaths.  They are are similar to the
377       equivalent ovs-dpctl commands.
378
379       dpif/dump-dps
380              Prints the name of each configured datapath on a separate line.
381
382       dpif/show
383              Prints a summary of configured datapaths,  including  statistics
384              and  a  list  of connected ports.  The port information includes
385              the OpenFlow port number, datapath port number,  and  the  type.
386              (The local port is identified as OpenFlow port 65534.)
387
388       dpif/dump-flows dp
389              Prints to the console all flow entries in datapath dp's flow ta‐
390              ble.
391
392              This command is primarily useful  for  debugging  Open  vSwitch.
393              The  flow  table  entries that it displays are not OpenFlow flow
394              entries.  Instead, they are different and  considerably  simpler
395              flows maintained by the datapath module.  If you wish to see the
396              OpenFlow flow entries, use ovs-ofctl dump-flows.
397
398       dpif/del-flows dp
399              Deletes all flow entries  from  datapath  dp's  flow  table  and
400              underlying  datapath  implementation (e.g., kernel datapath mod‐
401              ule).
402
403              This command is primarily useful for debugging Open vSwitch.  As
404              discussed  in  dpif/dump-flows,  these  entries are not OpenFlow
405              flow entries.
406
407   OFPROTO COMMANDS
408       These commands manage the core OpenFlow switch  implementation  (called
409       ofproto).
410
411       ofproto/list
412              Lists the names of the running ofproto instances.  These are the
413              names that may be used on ofproto/trace.
414
415       ofproto/trace [dpname] odp_flow [-generate | packet]
416       ofproto/trace bridge br_flow [-generate | packet]
417              Traces the path  of  an  imaginary  packet  through  switch  and
418              reports  the  path  that  it  took.   The packet's headers (e.g.
419              source and destination) and metadata (e.g. input port), together
420              called  its  ``flow,'' are usually all that matter for this pur‐
421              pose.  You can specify the flow in the following ways:
422
423              dpname odp_flow
424                     odp_flow is a flow in the form printed by  ovs-dpctl(8)'s
425                     dump-flows command.  If all of your bridges have the same
426                     type, which is the common case, then you can omit dpname,
427                     but  if  you  have  bridges of different types (say, both
428                     ovs-netdev and ovs-system), then you need  to  specify  a
429                     dpname to disambiguate.
430
431              bridge br_flow
432                     br_flow is a flow in the form similar to that accepted by
433                     ovs-ofctl(8)'s add-flow command.  (This is not  an  Open‐
434                     Flow  flow:  besides other differences, it never contains
435                     wildcards.)  bridge names of  the  bridge  through  which
436                     br_flow should be traced.
437
438              Most commonly, one specifies only a flow, using one of the forms
439              above, but sometimes one might need to specify an actual  packet
440              instead of just a flow:
441
442              Side effects.
443                     Some  actions have side effects.  For example, the normal
444                     action can update the MAC learning table, and  the  learn
445                     action  can  change  OpenFlow tables.  ofproto/trace only
446                     performs side effects when a packet is specified.  If you
447                     want  side  effects to take place, then you must supply a
448                     packet.
449
450                     (Output actions  are  obviously  side  effects  too,  but
451                     ofproto/trace  never  executes them, even when one speci‐
452                     fies a packet.)
453
454              Incomplete information.
455                     Most of the time, Open vSwitch can figure out  everything
456                     about  the  path  of a packet using just the flow, but in
457                     some special circumstances it needs to look at  parts  of
458                     the  packet that are not included in the flow.  When this
459                     is the case,  and  you  do  not  supply  a  packet,  then
460                     ofproto/trace will tell you it needs a packet.
461
462              If  you  wish  to  include a packet as part of the ofproto/trace
463              operation, there are two ways to do it:
464
465              -generate
466                     This option, added to one of the ways to specify  a  flow
467                     already described, causes Open vSwitch to internally gen‐
468                     erate a packet with the flow described and  then  to  use
469                     that  packet.   If  your goal is to execute side effects,
470                     then -generate is the easiest way to do it, but -generate
471                     is  not  a  good  way  to fill in incomplete information,
472                     because it generates  packets  based  on  only  the  flow
473                     information,  which  means that the packets really do not
474                     have any more information than the flow.
475
476              packet This form supplies an explicit packet as  a  sequence  of
477                     hex digits.  An Ethernet frame is at least 14 bytes long,
478                     so there must be at least 28 hex digits.   Obviously,  it
479                     is inconvenient to type in the hex digits by hand, so the
480                     ovs-pcap(1) and ovs-tcpundump(1) utilities provide easier
481                     ways.
482
483                     With  this  form,  packet  headers are extracted directly
484                     from packet, so the odp_flow or  br_flow  should  specify
485                     only metadata. The metadata can be:
486
487                     skb_priority
488                            Packet QoS priority.
489
490                     pkt_mark
491                            Mark of the packet.
492
493                     tun_id The tunnel ID on which the packet arrived.
494
495                     in_port
496                            The port on which the packet arrived.
497              The  in_port  value is kernel datapath port number for the first
498              format and OpenFlow port number for the second format. The  num‐
499              bering  of  these two types of port usually differs and there is
500              no relationship.
501
502       ofproto/self-check [switch]
503              Runs an internal consistency check on switch, if specified, oth‐
504              erwise  on all ofproto instances, and responds with a brief sum‐
505              mary of the results.  If the summary reports  any  errors,  then
506              the  Open vSwitch logs should contain more detailed information.
507              Please pass along errors reported by this command  to  the  Open
508              vSwitch developers as bugs.
509
510   VLOG COMMANDS
511       These commands manage ovs-vswitchd's logging settings.
512
513       vlog/set [spec]
514              Sets  logging  levels.  Without any spec, sets the log level for
515              every module and facility to dbg.  Otherwise, spec is a list  of
516              words  separated  by  spaces or commas or colons, up to one from
517              each category below:
518
519              ·      A valid module name, as displayed by the  vlog/list  com‐
520                     mand on ovs-appctl(8), limits the log level change to the
521                     specified module.
522
523              ·      syslog, console, or file, to limit the log  level  change
524                     to  only to the system log, to the console, or to a file,
525                     respectively.
526
527              ·      off, emer, err, warn, info, or dbg, to  control  the  log
528                     level.   Messages of the given severity or higher will be
529                     logged, and messages of lower severity will  be  filtered
530                     out.   off  filters  out all messages.  See ovs-appctl(8)
531                     for a definition of each log level.
532
533              Case is not significant within spec.
534
535              Regardless of the log levels set for file,  logging  to  a  file
536              will  not  take  place  unless ovs-vswitchd was invoked with the
537              --log-file option.
538
539              For compatibility with older versions of OVS, any is accepted as
540              a word but has no effect.
541
542       vlog/set PATTERN:facility:pattern
543              Sets  the  log  pattern  for  facility  to  pattern.   Refer  to
544              ovs-appctl(8) for a description of the valid syntax for pattern.
545
546       vlog/list
547              Lists the supported logging modules and their current levels.
548
549       vlog/reopen
550              Causes ovs-vswitchd to close and reopen its log file.  (This  is
551              useful  after  rotating log files, to cause a new log file to be
552              used.)
553
554              This has no effect unless  ovs-vswitchd  was  invoked  with  the
555              --log-file option.
556
557       vlog/disable-rate-limit [module]...
558       vlog/enable-rate-limit [module]...
559              By  default,  ovs-vswitchd limits the rate at which certain mes‐
560              sages can be logged.  When a  message  would  appear  more  fre‐
561              quently  than  the  limit,  it  is  suppressed.  This saves disk
562              space, makes logs easier to read, and speeds up  execution,  but
563              occasionally  troubleshooting  requires more detail.  Therefore,
564              vlog/disable-rate-limit allows rate limits to be disabled at the
565              level  of  an individual log module.  Specify one or more module
566              names, as displayed by the vlog/list command.  Specifying either
567              no  module  names at all or the keyword any disables rate limits
568              for every log module.
569
570              The vlog/enable-rate-limit command, whose syntax is the same  as
571              vlog/disable-rate-limit,  can  be used to re-enable a rate limit
572              that was previously disabled.
573
574   MEMORY COMMANDS
575       These commands report memory usage.
576
577       memory/show
578              Displays  some  basic  statistics  about  ovs-vswitchd's  memory
579              usage.   ovs-vswitchd  also  logs  this  information  soon after
580              startup and periodically as its memory consumption grows.
581
582   COVERAGE COMMANDS
583       These commands manage ovs-vswitchd's ``coverage counters,'' which count
584       the  number of times particular events occur during a daemon's runtime.
585       In addition to these commands, ovs-vswitchd automatically logs coverage
586       counter  values,  at INFO level, when it detects that the daemon's main
587       loop takes unusually long to run.
588
589       Coverage counters are useful mainly for performance analysis and debug‐
590       ging.
591
592       coverage/show
593              Displays the values of all of the coverage counters.
594

OPENFLOW IMPLEMENTATION

596       This section documents aspects of OpenFlow for which the OpenFlow spec‐
597       ification requires documentation.
598
599   Packet buffering.
600       The OpenFlow specification, version 1.2, says:
601
602              Switches  that  implement  buffering  are  expected  to  expose,
603              through  documentation,  both the amount of available buffering,
604              and the length of time before buffers may be reused.
605
606       Open vSwitch maintains a separate set of 256 packet  buffers  for  each
607       OpenFlow  connection.  Any given packet buffer is preserved until it is
608       referenced by an OFPT_FLOW_MOD or OFPT_PACKET_OUT request or for 5 sec‐
609       onds, whichever comes first.
610

LIMITS

612       We  believe these limits to be accurate as of this writing.  These lim‐
613       its assume the use of the Linux kernel datapath.
614
615       ·      ovs-vswitchd started through ovs-ctl(8) provides a limit of 7500
616              file descriptors.  The limits on the number of bridges and ports
617              is decided by the availability of file  descriptors.   With  the
618              Linux  kernel  datapath,  creation of a single bridge consumes 3
619              file descriptors and adding a port consumes 1  file  descriptor.
620              Performance  will  degrade  beyond 1,024 ports per bridge due to
621              fixed hash table sizing.  Other  platforms  may  have  different
622              limitations.
623
624       ·      2,048  MAC  learning  entries  per bridge, by default.  (This is
625              configurable via other-config:mac-table-size in the  Bridge  ta‐
626              ble.  See ovs-vswitchd.conf.db(5) for details.)
627
628       ·      Kernel flows are limited only by memory available to the kernel.
629              Performance will  degrade  beyond  1,048,576  kernel  flows  per
630              bridge  with  a 32-bit kernel, beyond 262,144 with a 64-bit ker‐
631              nel.  (ovs-vswitchd should never install anywhere near that many
632              flows.)
633
634       ·      OpenFlow  flows  are  limited only by available memory.  Perfor‐
635              mance is linear in the number of unique wildcard patterns.  That
636              is, an OpenFlow table that contains many flows that all match on
637              the same fields in the same way has a constant-time lookup,  but
638              a  table that contains many flows that match on different fields
639              requires lookup time linear in the number of flows.
640
641       ·      255 ports per bridge participating in 802.1D Spanning Tree  Pro‐
642              tocol.
643
644       ·      32 mirrors per bridge.
645
646       ·      15  bytes for the name of a port.  (This is a Linux kernel limi‐
647              tation.)
648

SEE ALSO

650       ovs-appctl(8), ovsdb-server(1), INSTALL.Linux in the Open vSwitch  dis‐
651       tribution.
652
653
654
655Open vSwitch                         2.0.0                     ovs-vswitchd(8)
Impressum