X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vswitchd%2Fvswitch.xml;h=a9850c669fcfb169efcb072ebb4db65edb1e62d0;hb=b153e667907ed68164a15207ad5f91ad4c39927c;hp=0f455000bba955f23f6bfe7757839eb7fae0d181;hpb=632e2b95c94099b78a1a3550b865898704bc8b97;p=sliver-openvswitch.git diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 0f455000b..a9850c669 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -25,6 +25,19 @@ SSL used globally by the daemon. + + Key-value pairs for configuring rarely used Open vSwitch features. The + currently defined key-value pairs are: +
+
enable-statistics
+
+ Set to true to enable populating the column or false (the default) + disable populating it. +
+
+
+ Key-value pairs for use by external frameworks that integrate with Open vSwitch, rather than by Open vSwitch itself. System @@ -37,7 +50,7 @@
A unique identifier for the Open vSwitch's physical host. The form of the identifier depends on the type of the host. On a Citrix XenServer, this will likely be the same as - xs-system-uuid.
+ .
xs-system-uuid
The Citrix XenServer universally unique identifier for the physical host as displayed by xe host-list.
@@ -75,6 +88,11 @@ apply to a platform are omitted.

+

+ Statistics are disabled unless is set to true. +

+
cpu
@@ -316,11 +334,19 @@ - VLAN IDs of VLANs on which MAC address learning should be disabled, so - that packets are flooded instead of being sent to specific ports that - are believed to contain packets' destination MACs. This should - ordinarily be used to disable MAC learning on VLANs used for mirroring - (RSPAN VLANs). It may also be useful for debugging. +

+ VLAN IDs of VLANs on which MAC address learning should be disabled, + so that packets are flooded instead of being sent to specific ports + that are believed to contain packets' destination MACs. This should + ordinarily be used to disable MAC learning on VLANs used for + mirroring (RSPAN VLANs). It may also be useful for debugging. +

+

+ SLB bonding (see the column in + the table) is incompatible with + flood_vlans. Consider using another bonding mode or + a different type of mirror instead. +

@@ -363,10 +389,9 @@ - Reports the OpenFlow datapath ID in use. Exactly 16 hex - digits. (Setting this column will have no useful effect. Set - :other-config - instead.) + Reports the OpenFlow datapath ID in use. Exactly 16 hex digits. + (Setting this column has no useful effect. Set instead.) @@ -386,8 +411,9 @@ defined key-value pairs are:
bridge-id
-
A unique identifier of the bridge. On Citrix XenServer this - will commonly be the same as xs-network-uuids.
+
A unique identifier of the bridge. On Citrix XenServer this will + commonly be the same as + .
xs-network-uuids
Semicolon-delimited set of universally unique identifier(s) for the network with which this bridge is associated on a Citrix @@ -420,6 +446,31 @@ does not have QoS configured, or if the port does not have a queue with the specified ID, the default queue is used instead.
+
flow-eviction-threshold
+
+ A number of flows as a nonnegative integer. This sets number + of flows at which eviction from the kernel flow table will + be triggered. + If there are a large number of flows then increasing this + value to around the number of flows present + can result in reduced CPU usage and packet loss. +
+
+ The default is 1000. +
+
+ Values below 100 will be rounded up to 100. +
+
forward-bpdu
+
+ 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. +
@@ -448,50 +499,96 @@ -

A bridge port must be configured for VLANs in one of two - mutually exclusive ways: -

    -
  • A ``trunk port'' has an empty value for . Its value may be - empty or non-empty.
  • -
  • An ``implicitly tagged VLAN port'' or ``access port'' - has an nonempty value for . Its - value must be empty.
  • -
- If and are both - nonempty, the configuration is ill-formed. +

Bridge ports support the following types of VLAN configuration:

+
+
trunk
+
+

+ A trunk port carries packets on one or more specified VLANs + specified in the column (often, on every + 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). +

+ +

+ Any packet that ingresses on a trunk port tagged with a VLAN that + the port does not trunk is dropped. +

+
+ +
access
+
+

+ 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. +

+ +

+ 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. +

+
+ +
native-tagged
+
+ A native-tagged port resembles a trunk port, with the exception that + a packet without an 802.1Q header that ingresses on a native-tagged + port is in the ``native VLAN'' (specified in the + column). +
+ +
native-untagged
+
+ 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. +
+
+

+ A packet will only egress through bridge ports that carry the VLAN of + the packet, as described by the rules above.

- +

- If this is an access port (see above), the port's implicitly - tagged VLAN. Must be empty if this is a trunk port. -

-

- Frames arriving on trunk ports will be forwarded to this - port only if they are tagged with the given VLAN (or, if - is 0, then if they lack a VLAN header). - Frames arriving on other access ports will be forwarded to - this port only if they have the same - value. Frames forwarded to this port will not have an - 802.1Q header. + The VLAN mode of the port, as described above. When this column is + empty, a default mode is selected as follows:

+
    +
  • + If contains a value, the port is an access + port. The column should be empty. +
  • +
  • + Otherwise, the port is a trunk port. The + column value is honored if it is present. +
  • +
+
+ +

- When a frame with a 802.1Q header that indicates a nonzero - VLAN is received on an access port, it is discarded. + For an access port, the port's implicitly tagged VLAN. For a + native-tagged or native-untagged port, the port's native VLAN. Must + be empty if this is a trunk port.

- If this is a trunk port (see above), the 802.1Q VLAN(s) that - this port trunks; if it is empty, then the port trunks all - VLANs. Must be empty if this is an access port. + For a trunk, native-tagged, or native-untagged port, the 802.1Q VLAN + or VLANs that this port trunks; if it is empty, then the port trunks + all VLANs. Must be empty if this is an access port.

- Frames arriving on trunk ports are dropped if they are not - in one of the specified VLANs. For this purpose, packets - that have no VLAN header are treated as part of VLAN 0. + A native-tagged or native-untagged port always trunks its native + VLAN, regardless of whether includes that + VLAN.

@@ -536,12 +633,14 @@

Attempts to always assign a given flow to the same slave consistently. In an effort to maintain stability, no load balancing is done. Uses a similar hashing strategy to - balance-tcp, falling back to balance-slb - style hashing when LACP negotiations are unsuccessful.

-

Slave selection decisions are made based on - bond-stable-id if set. Otherwise, OpenFlow port - number is used. Decisions are consistent across all ovs-vswitchd - instances with equivalent bond-stable-ids.

+ balance-tcp, always taking into account L3 and L4 + fields even if LACP negotiations are unsuccessful.

+

Slave selection decisions are made based on if set. Otherwise, + OpenFlow port number is used. Decisions are consistent across all + ovs-vswitchd instances with equivalent + + values.

@@ -582,8 +681,8 @@ 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. If unset Open vSwitch will - choose a reasonable default.

+ initiate such negotiations themselves. Defaults to off + if unset.

@@ -627,9 +726,6 @@ Key-value pairs for configuring rarely used port features. The currently defined key-value pairs are:
-
hwaddr
-
An Ethernet address in the form - xx:xx:xx:xx:xx:xx.
bond-rebalance-interval
For an SLB bonded port, the number of milliseconds between successive attempts to rebalance the bond, that is, to @@ -678,15 +774,10 @@ something other than fast or slow is not supported by the LACP specification.

-
lacp-strict
-
When true, configures this to - require successful LACP negotiations to enable any slaves. - Defaults to false which safely allows LACP to be used - with switches that do not support the protocol.
-
lacp-force-aggregatable
-
When true, forces all slaves managed by this - to advertise themselves as aggregatable even if - they normally wouldn't. Defaults to false.
+
lacp-heartbeat
+
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.
@@ -759,14 +850,16 @@
A TUN/TAP device managed by Open vSwitch.
gre
An Ethernet over RFC 2890 Generic Routing Encapsulation over IPv4 - tunnel. Each tunnel must be uniquely identified by the - combination of remote_ip, local_ip, and - in_key. Note that if two ports are defined that are - the same except one has an optional identifier and the other does - not, the more specific one is matched first. in_key - is considered more specific than local_ip if a port - defines one and another port defines the other. The following - options may be specified in the column: + tunnel. Each tunnel must be uniquely identified by the + combination of , + , and + . Note that if two ports + are defined that are the same except one has an optional + identifier and the other does not, the more specific one is + matched first. is considered + more specific than if a port + defines one and another port defines the other. The following + options may be specified in the column:
remote_ip
Required. The tunnel endpoint.
@@ -872,13 +965,14 @@
An Ethernet over RFC 2890 Generic Routing Encapsulation over IPv4 IPsec tunnel. Each tunnel (including those of type gre) must be uniquely identified by the - combination of remote_ip and - local_ip. Note that if two ports are defined - that are the same except one has an optional identifier and + combination of and + . Note that if two ports are + defined that are the same except one has an optional identifier and the other does not, the more specific one is matched first. - An authentication method of peer_cert or - psk must be defined. The following options may - be specified in the column: + An authentication method of + or must be defined. The + following options may be specified in the + column:
remote_ip
Required. The tunnel endpoint.
@@ -1002,10 +1096,12 @@ of the protocol is implemented. Due to the non-standard use of CAPWAP, UDP ports 58881 and 58882 are used as the source and destination ports respectively. Each tunnel must be uniquely - identified by the combination of remote_ip and - local_ip. If two ports are defined that are the same - except one includes local_ip and the other does not, - the more specific one is matched first. CAPWAP support is not + identified by the combination of + and + . If two ports are defined + that are the same except one includes + and the other does not, the + more specific one is matched first. CAPWAP support is not available on all platforms. Currently it is only supported in the Linux kernel module with kernel versions >= 2.6.25. The following options may be specified in the column: @@ -1035,6 +1131,32 @@ (otherwise it will be the system default, typically 64). Default is the system default TTL.
+
+
in_key
+
Optional. The WSI key that received packets must contain. + It may either be a 64-bit number (no key and a key of 0 are + treated as equivalent) or the word flow. If + flow is specified then any key will be accepted + and the key will be placed in the tun_id field + for matching in the flow table. The ovs-ofctl manual page + contains additional information about matching fields in + OpenFlow flows. Default is no key.
+
+
+
out_key
+
Optional. The WSI key to be set on outgoing packets. It may + either be a 64-bit number or the word flow. If + flow is specified then the key may be set using + the set_tunnel Nicira OpenFlow vendor extension (0 + is used in the absence of an action). The ovs-ofctl manual + page contains additional information about the Nicira OpenFlow + vendor extensions. Default is no key.
+
+
+
key
+
Optional. Shorthand to set in_key and + out_key at the same time.
+
df_inherit
Optional. If enabled, the Don't Fragment bit will be copied @@ -1153,9 +1275,9 @@

- Key-value pairs that report port status. Supported status - values are type-dependent; some interfaces may not have - a valid driver_name, for example. + Key-value pairs that report port status. Supported status values are + -dependent; some interfaces may not have a valid + , for example.

The currently defined key-value pairs are:

@@ -1183,14 +1305,15 @@
Egress interface for tunnels. Currently only relevant for GRE and CAPWAP tunnels. On Linux systems, this column will show the name of the interface which is responsible for routing - traffic destined for the configured remote_ip. - This could be an internal interface such as a bridge port.
+ traffic destined for the configured + . This could be an + internal interface such as a bridge port.
tunnel_egress_iface_carrier
-
Whether a carrier is detected on . Valid values are down - and up.
+
Whether a carrier is detected on + . Valid values + are down and up.
@@ -1271,12 +1394,62 @@ - + +

+ 802.1ag Connectivity Fault Management (CFM) allows a group of + Maintenance Points (MPs) called a Maintenance Association (MA) to + detect connectivity problems with each other. MPs within a MA should + have complete and exclusive interconnectivity. This is verified by + occasionally broadcasting Continuity Check Messages (CCMs) at a + configurable transmission interval. +

+ +

+ According to the 802.1ag specification, each Maintenance Point should + be configured out-of-band with a list of Remote Maintenance Points it + should have connectivity to. Open vSwitch differs from the + specification in this area. It simply assumes the link is faulted if + no Remote Maintenance Points are reachable, and considers it not + faulted otherwise. +

- - Connectivity monitor configuration for this interface. + + A Maintenance Point ID (MPID) uniquely identifies each endpoint within + a Maintenance Association. The MPID is used to identify this endpoint + to other Maintenance Points in the MA. Each end of a link being + monitored should have a different MPID. Must be configured to enable + CFM on this . + +

+ Indicates a connectivity fault triggered by an inability to receive + heartbeats from any remote endpoint. When a fault is triggered on + s participating in bonds, they will be + disabled. +

+

+ Faults can be triggered for several reasons. Most importantly they + are triggered when no CCMs are received for a period of 3.5 times the + transmission interval. Faults are also triggered when any CCMs + indicate that a Remote Maintenance Point is not receiving CCMs but + able to send them. Finally, a fault is triggered if a CCM is + received which indicates unexpected configuration. Notably, this + case arises when a CCM is received which advertises the local MPID. +

+
+ + + When CFM is properly configured, Open vSwitch will occasionally + receive CCM broadcasts. These broadcasts contain the MPID of the + sending Maintenance Point. The list of MPIDs from which this + is receiving broadcasts from is regularly + collected and written to this column. + +
+ + + Boolean value indicating LACP status for this interface. If true, this interface has current LACP information about its LACP partner. This @@ -1301,7 +1474,8 @@ field in the VIF record for this interface.
iface-id
A system-unique identifier for the interface. On XenServer, - this will commonly be the same as xs-vif-uuid.
+ this will commonly be the same as + .

Additionally the following key-value pairs specifically @@ -1327,13 +1501,26 @@ Key-value pairs for rarely used interface features.

+
cfm_interval
+
The transmission interval of CFM heartbeats in milliseconds. + Three missed heartbeat receptions indicate a connectivity fault. + Defaults to 1000ms.
+
cfm_extended
+
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.
bond-stable-id
A positive integer using in stable bond mode to make slave selection decisions. Allocating - bond-stable-ids consistently across interfaces - participating in a bond will guarantee consistent slave selection - decisions across ovs-vswitchd instances when using - stable bonding mode.
+ values + consistently across interfaces participating in a bond will + guarantee consistent slave selection decisions across + ovs-vswitchd instances when using stable + bonding mode.
lacp-port-id
The LACP port ID of this . Port IDs are used in LACP negotiations to identify individual ports @@ -1539,88 +1726,12 @@ - -

- A attaches to an to - implement 802.1ag Connectivity Fault Management (CFM). CFM allows a - group of Maintenance Points (MPs) called a Maintenance Association (MA) - to detect connectivity problems with each other. MPs within a MA should - have complete and exclusive interconnectivity. This is verified by - occasionally broadcasting Continuity Check Messages (CCMs) at a - configurable transmission interval. A is - responsible for collecting data about other MPs in its MA and - broadcasting CCMs. -

- - - - A Maintenance Point ID (MPID) uniquely identifies each endpoint within - a Maintenance Association (see ). The MPID is - used to identify this to other endpoints in the - MA. - - - - A set of which this - should have connectivity to. If this - does not have connectivity to any MPs in this - set, or has connectivity to any MPs not in this set, a fault is - signaled. - - - - A Maintenance Association (MA) name pairs with a Maintenance Domain - (MD) name to uniquely identify a MA. A MA is a group of endpoints who - have complete and exclusive interconnectivity. Defaults to - ovs if unset. - - - - A Maintenance Domain name pairs with a Maintenance Association name to - uniquely identify a MA. Defaults to ovs if unset. - - - - The transmission interval of CCMs in milliseconds. Three missed CCMs - indicate a connectivity fault. Defaults to 1000ms. - - - - - - Indicates a Connectivity Fault caused by a configuration error, a down - remote MP, or unexpected connectivity to a remote MAID or remote MP. - - -
- - -

- A represents a MP which a - has or should have connectivity to. -

- - - - A Maintenance Point ID (MPID) uniquely identifies each endpoint within - a Maintenance Association. All MPs within a MA should have a unique - MPID. - - - - - - Indicates a connectivity fault. - - -
- - +

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 or RSPAN, depending on the - mechanism used for delivery.

+ ``mirrored'' ports, in addition to their normal destinations. Mirroring + traffic may also be referred to as SPAN, RSPAN, or ERSPAN, depending on how + the mirrored traffic is sent.

Arbitrary identifier for the . @@ -1661,10 +1772,14 @@

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 - will be forwarded to the port, and any frames received on the port - will be discarded.

-

This type of mirroring is sometimes called SPAN.

+ for mirroring. No frames other than those selected for mirroring + 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). +

@@ -1676,6 +1791,37 @@ , replacing any existing tag; when it is sent out an implicit VLAN port, the frame will not be tagged. This type of mirroring is sometimes called RSPAN.

+

+ The following destination MAC addresses will not be mirrored to a + VLAN to avoid confusing switches that interpret the protocols that + they represent: +

+
+
01:80:c2:00:00:00
+
IEEE 802.1D Spanning Tree Protocol (STP).
+ +
01:80:c2:00:00:01
+
IEEE Pause frame.
+ +
01:80:c2:00:00:0x
+
Other reserved protocols.
+ +
01:00:0c:cc:cc:cc
+
+ Cisco Discovery Protocol (CDP), VLAN Trunking Protocol (VTP), + Dynamic Trunking Protocol (DTP), Port Aggregation Protocol (PAgP), + and others. +
+ +
01:00:0c:cc:cc:cd
+
Cisco Shared Spanning Tree Protocol PVSTP+.
+ +
01:00:0c:cd:cd:cd
+
Cisco STP Uplink Fast.
+ +
01:00:0c:00:00:00
+
Cisco Inter Switch Link.
+

Please note: Mirroring to a VLAN can disrupt a network that contains unmanaged switches. Consider an unmanaged physical switch with two ports: port 1, connected to an end host, and port 2, @@ -1701,6 +1847,10 @@ Open vSwitch is being used as an intermediate switch, learning can be disabled by adding the mirrored VLAN to in the appropriate table or tables.

+

+ Mirroring to a GRE tunnel has fewer caveats than mirroring to a + VLAN and should generally be preferred. +

@@ -2180,6 +2330,34 @@ database (in seconds). Value is empty if manager has never disconnected. +
+
locks_held
+
locks_waiting
+
locks_lost
+
+ Space-separated lists of the names of OVSDB locks that the + connection holds, is currently waiting to acquire, or has had + stolen by another OVSDB client, respectively. Key-value pairs for + lists that would be empty are omitted. +
+
+
+
n_connections
+
+

+ When specifies a connection method that + listens for inbound connections (e.g. ptcp: or + pssl:) and more than one connection is actually + active, the value is the number of active connections. + Otherwise, this key-value pair is omitted. +

+

+ When multiple connections are active, status columns and + key-value pairs (other than this one) report the status of one + arbitrarily chosen connection. +

+
+