X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=vswitchd%2Fvswitch.xml;h=d04a3a2a7d37e2f63a43e16dc116742d924cae1c;hb=816fd533f85923c03cf8d9d6450bd9a0845d5160;hp=c9a4c1cb30bd39f271bdeb215e212ab64505f4dd;hpb=3fd8d44544df9c4cdb6108a72154f7ebc5077dd0;p=openvswitch diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index c9a4c1cb..d04a3a2a 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -104,14 +104,16 @@ omitted.

- + Statistics are disabled by default to avoid overhead in the common case when statistics gathering is not useful. Set this value to true to enable populating the column or to false to explicitly disable it. - +

Number of CPU processors, threads, or cores currently online and available to the operating system on which Open vSwitch is running, @@ -370,8 +372,20 @@ - OpenFlow controller set. If unset, then no OpenFlow controllers - will be used. +

+ OpenFlow controller set. If unset, then no OpenFlow controllers + will be used. +

+ +

+ If there are primary controllers, removing all of them clears the + flow table. If there are no primary controllers, adding one also + clears the flow table. Other changes to the set of controllers, such + as adding or removing a service controller, adding another primary + controller to supplement an existing primary controller, or removing + only one of two primary controllers, have no effect on the flow + table. +

@@ -404,6 +418,10 @@

When more than one controller is configured, is considered only when none of the configured controllers can be contacted.

+

+ Changing when no primary controllers are + configured clears the flow table. +

@@ -417,12 +435,14 @@ value. May not be all-zero. - + If set to true, disable in-band control on the bridge regardless of controller and manager settings. - + A queue ID as a nonnegative integer. This sets the OpenFlow queue ID that will be used by flows set up by in-band control on this bridge. If unset, or if the port used by an in-band control flow does not have @@ -431,6 +451,55 @@ + + The IEEE 802.1D Spanning Tree Protocol (STP) is a network protocol + that ensures loop-free topologies. It allows redundant links to + be included in the network to provide automatic backup paths if + the active links fails. + + + Enable spanning tree on the bridge. By default, STP is disabled + on bridges. Bond, internal, and mirror ports are not supported + and will not participate in the spanning tree. + + + + The bridge's STP identifier (the lower 48 bits of the bridge-id) + in the form + xx:xx:xx:xx:xx:xx. + By default, the identifier is the MAC address of the bridge. + + + + The bridge's relative priority value for determining the root + bridge (the upper 16 bits of the bridge-id). A bridge with the + lowest bridge-id is elected the root. By default, the priority + is 0x8000. + + + + The interval between transmissions of hello messages by + designated ports, in seconds. By default the hello interval is + 2 seconds. + + + + The maximum age of the information transmitted by the bridge + when it is the root bridge, in seconds. By default, the maximum + age is 20 seconds. + + + + The delay to wait between transitioning root and designated + ports to forwarding, in seconds. By default, the + forwarding delay is 15 seconds. + + + Name of datapath provider. The kernel datapath has @@ -458,7 +527,8 @@ datapath ID. - +

A number of flows as a nonnegative integer. This sets number of flows at which eviction from the kernel flow table will be triggered. @@ -471,13 +541,45 @@

- - Option to allow forwarding of BPDU frames when NORMAL action if - invoked. Frames with reserved Ethernet addresses (e.g. STP BPDU) will - be forwarded when this option is enabled. If the Open vSwitch bridge - is used to connect different Ethernet networks, and if Open vSwitch - node does not run STP, then this option should be enabled. Default is - disabled, set to true to enable. + + Option to allow forwarding of BPDU frames when NORMAL action is + invoked. Frames with reserved Ethernet addresses (e.g. STP + BPDU) will be forwarded when this option is enabled and the + switch is not providing that functionality. If STP is enabled + on the port, STP BPDUs will never be forwarded. If the Open + vSwitch bridge is used to connect different Ethernet networks, + and if Open vSwitch node does not run STP, then this option + should be enabled. Default is disabled, set to + true to enable. + +
+ + +

+ Status information about bridges. +

+ + Key-value pairs that report bridge status. + + +

+ The bridge-id (in hex) used in spanning tree advertisements. + Configuring the bridge-id is described in the + stp-system-id and stp-priority keys + of the other_config section earlier. +

+
+ +

+ The designated root (in hex) for this spanning tree. +

+
+ +

+ The path cost of reaching the designated bridge. A lower + number is better. +

@@ -523,8 +625,7 @@ VLAN). A packet that ingresses on a trunk port is in the VLAN specified in its 802.1Q header, or VLAN 0 if the packet has no 802.1Q header. A packet that egresses through a trunk port will - have a 802.1Q header if it has a nonzero VLAN ID (or a nonzero - 802.1Q priority). + have an 802.1Q header if it has a nonzero VLAN ID.

@@ -537,14 +638,14 @@

An access port carries packets on exactly one VLAN specified in the - column. Packets ingressing and egressing on an - access port have no 802.1Q header. + column. Packets egressing on an access port + have no 802.1Q header.

- Any packet with an 802.1Q header that ingresses on an access port - is dropped, regardless of whether the VLAN ID in the header is the - access port's VLAN ID. + Any packet with an 802.1Q header with a nonzero VLAN ID that + ingresses on an access port is dropped, regardless of whether the + VLAN ID in the header is the access port's VLAN ID.

@@ -560,7 +661,7 @@
A native-untagged port resembles a native-tagged port, with the exception that a packet that egresses on a native-untagged port in - the native VLAN not have an 802.1Q header. + the native VLAN will not have an 802.1Q header.

@@ -605,6 +706,34 @@ VLAN.

+ + +

+ An 802.1Q header contains two important pieces of information: a VLAN + ID and a priority. A frame with a zero VLAN ID, called a + ``priority-tagged'' frame, is supposed to be treated the same way as + a frame without an 802.1Q header at all (except for the priority). +

+ +

+ However, some network elements ignore any frame that has 802.1Q + header at all, even when the VLAN ID is zero. Therefore, by default + Open vSwitch does not output priority-tagged frames, instead omitting + the 802.1Q header entirely if the VLAN ID is zero. Set this key to + true to enable priority-tagged frames on a port. +

+ +

+ Regardless of this setting, Open vSwitch omits the 802.1Q header on + output if both the VLAN ID and priority would be zero. +

+ +

+ All frames output to native-tagged ports have a nonzero VLAN ID, so + this setting is not meaningful on native-tagged ports. +

+
@@ -628,8 +757,7 @@

The following modes require the upstream switch to support 802.3ad with - successful LACP negotiation. If LACP negotiation fails then - balance-slb style flow hashing is used as a fallback: + successful LACP negotiation:

@@ -661,10 +789,19 @@

The type of bonding used for a bonded port. Defaults to - balance-slb if unset. + active-backup if unset.

+ + An integer hashed along with flows when choosing output slaves in load + balanced bonds. When changed, all flows will be assigned different + hash values possibly causing slave selection decisions to change. Does + not affect bonding modes which do not employ load balancing such as + active-backup. + +

An important part of link bonding is detecting that links are down so @@ -672,15 +809,16 @@ detects link failure.

- - The means used to detect link failures. Options are - carrier and miimon. Defaults to + + The means used to detect link failures. Defaults to carrier which uses each interface's carrier to detect failures. When set to miimon, will check for failures by polling each interface's MII. - + The interval, in milliseconds, between successive attempts to poll each interface's MII. Relevant only when is miimon. @@ -722,20 +860,23 @@ connected to. active ports are allowed to initiate LACP negotiations. passive ports are allowed to participate in LACP negotiations initiated by a remote switch, but not allowed to - initiate such negotiations themselves. Defaults to off - if unset. + initiate such negotiations themselves. If LACP is enabled on a port + whose partner switch does not support LACP, the bond will be + disabled. Defaults to off if unset. The LACP system ID of this . The system ID of a LACP bond is used to identify itself to its partners. Must be a - nonzero MAC address. + nonzero MAC address. Defaults to the bridge Ethernet address if + unset. - + The LACP system priority of this . In LACP negotiations, link status decisions are made by the system with the - numerically lower priority. Must be a number between 1 and 65535. + numerically lower priority. @@ -759,16 +900,12 @@

- - Treats LACP like a simple heartbeat protocol for link state - monitoring. Most features of the LACP protocol are disabled when - this mode is in use. - - - - An integer hashed along with flows when choosing output slaves. When - changed, all flows will be assigned different hash values possibly - causing slave selection decisions to change. + + Treat LACP like a simple heartbeat protocol for link state + monitoring. Most features of the LACP protocol are disabled + when this mode is in use. The default if not specified is + false.
@@ -780,12 +917,14 @@ because LACP negotiation failed.

- - For an SLB bonded port, the number of milliseconds between successive - attempts to rebalance the bond, that is, to move source MACs and - their flows from one interface on the bond to another in an attempt - to keep usage of each interface roughly equal. The default is 10000 - (10 seconds), and the minimum is 1000 (1 second). + + For a load balanced bonded port, the number of milliseconds between + successive attempts to rebalance the bond, that is, to move flows + from one interface on the bond to another in an attempt to keep usage + of each interface roughly equal. If zero, load balancing is disabled + on the bond (carrier status changes still cause flows to move). If + less than 1000ms, the rebalance interval will be 1000ms. @@ -796,6 +935,40 @@ + + + If spanning tree is enabled on the bridge, member ports are + enabled by default (with the exception of bond, internal, and + mirror ports which do not work with STP). If this column's + value is false spanning tree is disabled on the + port. + + + + The port number used for the lower 8 bits of the port-id. By + default, the numbers will be assigned automatically. If any + port's number is manually configured on a bridge, then they + must all be. + + + + The port's relative priority value for determining the root + port (the upper 8 bits of the port-id). A port with a lower + port-id will be chosen as the root port. By default, the + priority is 0x80. + + + + Spanning tree path cost for the port. A lower number indicates + a faster link. By default, the cost is based on the maximum + speed of the link. + + + Quality of Service configuration for this port. @@ -822,6 +995,65 @@ + +

+ Status information about ports attached to bridges. +

+ + Key-value pairs that report port status. + + +

+ The port-id (in hex) used in spanning tree advertisements for + this port. Configuring the port-id is described in the + stp-port-num and stp-port-priority + keys of the other_config section earlier. +

+
+ +

+ STP state of the port. +

+
+ +

+ The amount of time (in seconds) port has been in the current + STP state. +

+
+ +

+ STP role of the port. +

+
+
+ + +

+ Key-value pairs that report port statistics. +

+ + + Number of STP BPDUs sent on this port by the spanning + tree library. + + + Number of STP BPDUs received on this port and accepted by the + spanning tree library. + + + Number of bad STP BPDUs received on this port. Bad BPDUs + include runt packets and those with an unexpected protocol ID. + + +
+ The overall purpose of these columns is described under Common Columns at the beginning of this document. @@ -922,7 +1154,7 @@ not support GRE. Only the tunneling component of the protocol is implemented. UDP ports 58881 and 58882 are used as the source and destination ports respectively. CAPWAP is currently supported only - with the Linux kernel datapath with kernel version 2.6.25 or later. + with the Linux kernel datapath with kernel version 2.6.26 or later.
patch
@@ -954,12 +1186,22 @@

- Required. The tunnel endpoint. +

+ Required. The tunnel endpoint. Unicast and multicast endpoints are + both supported. +

+ +

+ When a multicast endpoint is specified, a routing table lookup occurs + only when the tunnel is created. Following a routing change, delete + and then re-create the tunnel to force a new routing table lookup. +

- Optional. The destination IP that received packets must - match. Default is to match all addresses. + Optional. The destination IP that received packets must match. + Default is to match all addresses. Must be omitted when is a multicast address. @@ -1031,21 +1273,22 @@ system default, typically 64). Default is the system default TTL. - + Optional. If enabled, the Don't Fragment bit will be copied from the inner IP headers (those of the encapsulated traffic) to the outer (tunnel) headers. Default is disabled; set to true to enable. - + Optional. If enabled, the Don't Fragment bit will be set by default on tunnel headers if the df_inherit option is not set, or if the encapsulated packet is not IP. Default is enabled; set to false to disable. - + Optional. Enable tunnel path MTU discovery. If enabled ``ICMP Destination Unreachable - Fragmentation Needed'' messages will be generated for IPv4 packets with the DF bit set and IPv6 packets above @@ -1061,7 +1304,7 @@ Only gre interfaces support these options.

- + Enable caching of tunnel headers and the output path. This can lead to a significant performance increase without changing behavior. In general it should not be necessary to adjust this setting. However, @@ -1078,7 +1321,7 @@ these options.

- +

Optional. Compute GRE checksums on outgoing packets. Default is disabled, set to true to enable. Checksums present on @@ -1169,6 +1412,13 @@

+ +

+ The number of times Open vSwitch has observed the + of this change. +

+
+

The negotiated speed of the physical network link. @@ -1235,10 +1485,10 @@ internal interface such as a bridge port. - - Whether a carrier is detected on . Valid values are down and - up. + + Whether carrier is detected on . @@ -1432,26 +1682,47 @@ collected and written to this column. - + The interval, in milliseconds, between transmissions of CFM heartbeats. Three missed heartbeat receptions indicate a connectivity fault. Defaults to 1000. - + When true, the CFM module operates in extended mode. This causes it to use a nonstandard destination address to avoid conflicting with compliant implementations which may be running concurrently on the network. Furthermore, extended mode increases the accuracy of the cfm_interval configuration parameter by breaking wire compatibility with 802.1ag compliant implementations. Defaults to - false. + false. + + + When down, the CFM module marks all CCMs it generates as + operationally down without triggering a fault. This allows remote + maintenance points to choose not to forward traffic to the + on which this CFM module is running. + Currently, in Open vSwitch, the opdown bit of CCMs affects + s participating in bonds, and the bundle + OpenFlow action. This setting is ignored when CFM is not in extended + mode. Defaults to up. + + + When set, the CFM module will apply a VLAN tag to all CCMs it generates + with the given value. + + - - A positive integer using in stable bond mode to make slave + + Used in stable bond mode to make slave selection decisions. Allocating values consistently across interfaces participating in a bond will guarantee consistent slave selection @@ -1459,25 +1730,25 @@ stable bonding mode. - + The LACP port ID of this . Port IDs are used in LACP negotiations to identify individual ports - participating in a bond. Must be a number between 1 and - 65535. + participating in a bond. - + The LACP port priority of this . In LACP negotiations s with numerically lower - priorities are preferred for aggregation. Must be a number between 1 - and 65535. + priorities are preferred for aggregation. - + The LACP aggregation key of this . s with different aggregation keys may not be active - within a given at the same time. Must be a number - between 1 and 65535. + within a given at the same time. @@ -1518,6 +1789,78 @@ + +

+ The ``VLAN splinters'' feature increases Open vSwitch compatibility + with buggy network drivers in old versions of Linux that do not + properly support VLANs when VLAN devices are not used, at some cost + in memory and performance. +

+ +

+ When VLAN splinters are enabled on a particular interface, Open vSwitch + creates a VLAN device for each in-use VLAN. For sending traffic tagged + with a VLAN on the interface, it substitutes the VLAN device. Traffic + received on the VLAN device is treated as if it had been received on + the interface on the particular VLAN. +

+ +

+ VLAN splinters consider a VLAN to be in use if: +

+ +
    +
  • + The VLAN is the value in any record. +
  • + +
  • + The VLAN is listed within the + column of the record of an interface on which + VLAN splinters are enabled. + + An empty does not influence the + in-use VLANs: creating 4,096 VLAN devices is impractical because it + will exceed the current 1,024 port per datapath limit. +
  • + +
  • + An OpenFlow flow within any bridge matches the VLAN. +
  • +
+ +

+ The same set of in-use VLANs applies to every interface on which VLAN + splinters are enabled. That is, the set is not chosen separately for + each interface but selected once as the union of all in-use VLANs based + on the rules above. +

+ +

+ It does not make sense to enable VLAN splinters on an interface for an + access port, or on an interface that is not a physical port. +

+ +

+ VLAN splinters are deprecated. When broken device drivers are no + longer in widespread use, we will delete this feature. +

+ + +

+ Set to true to enable VLAN splinters on this interface. + Defaults to false. +

+ +

+ VLAN splinters increase kernel and userspace memory overhead, so do + not use them unless they are needed. +

+
+
+ The overall purpose of these columns is described under Common Columns at the beginning of this document. @@ -1570,7 +1913,7 @@ the following key-value pair:

- + Maximum rate shared by all queued traffic, in bit/s. Optional. If not specified, for physical interfaces, the default is the link rate. For other interfaces or if the link rate cannot be determined, the default @@ -1592,62 +1935,66 @@ Service (QoS) features. May be referenced by column in table.

- -

- These key-value pairs are defined for of min-rate. -

- - - Minimum guaranteed bandwidth, in bit/s. Required. The floor value is - 1500 bytes/s (12,000 bit/s). - -
+ + If set, Open vSwitch will mark all traffic egressing this + with the given DSCP bits. Traffic egressing the + default is only marked if it was explicitly selected + as the at the time the packet was output. If unset, + the DSCP bits of traffic egressing this will remain + unchanged. +

- These key-value pairs are defined for of linux-htb. + + linux-htb may use queue_ids less than 61440. + It has the following key-value pairs defined.

- + Minimum guaranteed bandwidth, in bit/s. - + Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue's rate will not be allowed to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no limit. - + Burst size, in bits. This is the maximum amount of ``credits'' that a queue can accumulate while it is idle. Optional. Details of the linux-htb implementation require a minimum burst size, so a too-small burst will be silently ignored. - - A nonnegative 32-bit integer. Defaults to 0 if unspecified. A queue - with a smaller priority will receive all the excess - bandwidth that it can use before a queue with a larger value receives - any. Specific priority values are unimportant; only relative ordering - matters. + + A queue with a smaller priority will receive all the + excess bandwidth that it can use before a queue with a larger value + receives any. Specific priority values are unimportant; only relative + ordering matters. Defaults to 0 if unspecified.

- These key-value pairs are defined for of linux-hfsc. + + linux-hfsc may use queue_ids less than 61440. + It has the following key-value pairs defined.

- + Minimum guaranteed bandwidth, in bit/s. - + Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue's rate will not be allowed to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no @@ -1664,11 +2011,11 @@
- +

A port mirror within a .

A port mirror configures a bridge to send selected frames to special ``mirrored'' ports, in addition to their normal destinations. Mirroring - traffic may also be referred to as SPAN, RSPAN, or ERSPAN, depending on how + traffic may also be referred to as SPAN or RSPAN, depending on how the mirrored traffic is sent.

@@ -1711,12 +2058,13 @@

Output port for selected packets, if nonempty.

Specifying a port for mirror output reserves that port exclusively for mirroring. No frames other than those selected for mirroring + via this column will be forwarded to the port, and any frames received on the port will be discarded.

The output port may be any kind of port supported by Open vSwitch. - It may be, for example, a physical port (sometimes called SPAN), or a - GRE tunnel (sometimes called ERSPAN). + It may be, for example, a physical port (sometimes called SPAN) or a + GRE tunnel.

@@ -1792,6 +2140,18 @@ + +

+ Key-value pairs that report mirror statistics. +

+ + Number of packets transmitted through this mirror. + + + Number of bytes transmitted through this mirror. + +
+ The overall purpose of these columns is described under Common Columns at the beginning of this document. @@ -2030,7 +2390,8 @@ false otherwise. - +

The level of authority this controller has on the associated bridge. Possible values are:

@@ -2056,9 +2417,10 @@ will exist only if an error has occurred. - +

- The state of the connection to the controller. Possible values are: + The state of the connection to the controller:

VOID
@@ -2082,13 +2444,15 @@

- + The amount of time since this controller last successfully connected to the switch (in seconds). Value is empty if controller has never successfully connected. - + The amount of time since this controller last disconnected from the switch (in seconds). Value is empty if controller has never disconnected. @@ -2244,9 +2608,10 @@ will exist only if an error has occurred. - +

- The state of the connection to the manager. Possible values are: + The state of the connection to the manager:

VOID
@@ -2270,13 +2635,15 @@

- + The amount of time since this manager last successfully connected to the database (in seconds). Value is empty if manager has never successfully connected. - + The amount of time since this manager last disconnected from the database (in seconds). Value is empty if manager has never disconnected. @@ -2299,7 +2666,8 @@ stolen from this connection. - +

When specifies a connection method that listens for inbound connections (e.g. ptcp: or @@ -2416,10 +2784,12 @@ Name of the network device whose IP address should be reported as the - ``agent address'' to collectors. If not specified, the IP address + ``agent address'' to collectors. If not specified, the agent device is + figured from the first target address and the routing table. If the + routing table does not contain a route to the target, the IP address defaults to the in the collector's . If an agent IP address cannot be - determined either way, sFlow is disabled. + determined any of these ways, sFlow is disabled.