X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vswitchd%2Fvswitch.xml;h=683b27ea6a476e74239a5a410a39c76f5ff306d5;hb=65c3058c22803c7e8d8fd0bfbb84fe27456fb137;hp=244b24e57245636afa3d666e7bb4e38df1fbbac9;hpb=2cdcb8983d9e2f3d690ee5cb62593c05898fb26e;p=sliver-openvswitch.git diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index 244b24e57..683b27ea6 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -9,9 +9,44 @@ table="Open_vSwitch"/> table. Records that are not reachable from the table are automatically deleted from the database, except for records in a few distinguished - ``root set'' tables noted below. + ``root set'' tables.
+
+ Most tables contain two special columns, named other_config
+ and external_ids. These columns have the same form and
+ purpose each place that they appear, so we describe them here to save space
+ later.
+
other_config: map of string-string pairs+ Key-value pairs for configuring rarely used features. Supported keys, + along with the forms taken by their values, are documented individually + for each table. +
+
+ A few tables do not have other_config columns because no
+ key-value pairs have yet been defined for them.
+
external_ids: map of string-string pairsEthernet address to set for this interface. If unset then the - default MAC address is used:
+ default MAC address is used:Some interfaces may not have a software-controllable MAC address.
@@ -675,342 +875,287 @@OpenFlow port number for this interface. Unlike most columns, this - column's value should be set only by Open vSwitch itself. Other - clients should set this column to an empty set (the default) when - creating an .
+ column's value should be set only by Open vSwitch itself. Other + clients should set this column to an empty set (the default) when + creating an .Open vSwitch populates this column when the port number becomes - known. If the interface is successfully added, - will be set to a number between 1 and 65535 - (generally either in the range 1 to 65279, inclusive, or 65534, the - port number for the OpenFlow ``local port''). If the interface - cannot be added then Open vSwitch sets this column - to -1.
+ known. If the interface is successfully added, + will be set to a number between 1 and 65535 + (generally either in the range 1 to 65279, inclusive, or 65534, the + port number for the OpenFlow ``local port''). If the interface + cannot be added then Open vSwitch sets this column + to -1.+ The interface type, one of: +
+systemeth0 on Linux.
- Sometimes referred to as ``external interfaces'' since they are
- generally connected to hardware external to that on which the Open
- vSwitch is running. The empty string is a synonym for
- system.system.
+
internaltapgreremote_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:
- remote_iplocal_ipin_keyflow. 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_keyflow. 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.keyin_key and
- out_key at the same time.tosinherit, in which case the ToS will be copied from
- the inner packet if it is IPv4 or IPv6 (otherwise it will be
- 0). Note that the ECN fields are always inherited. Default is
- 0.ttlinherit, in which case the
- TTL will be copied from the inner packet if it is IPv4 or IPv6
- (otherwise it will be the system default, typically 64).
- Default is the system default TTL.csumtrue to enable.pmtudfalse to disable.header_cachefalse to disable.ipsec_gregre) 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
- 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:
- remote_iplocal_ippeer_certcertificate option.certificateprivate_keycertificate. If certificate
- contains the private key, this option may be omitted.pskin_keyflow. 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_keyflow. 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.keyin_key and
- out_key at the same time.tosinherit, in which case the ToS will be copied from
- the inner packet if it is IPv4 or IPv6 (otherwise it will be
- 0). Note that the ECN fields are always inherited. Default is
- 0.ttlinherit, in which case the
- TTL will be copied from the inner packet if it is IPv4 or IPv6
- (otherwise it will be the system default, typically 64).
- Default is the system default TTL.csumtrue to enable.pmtudfalse to disable.capwapremote_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
- 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:
- remote_iplocal_iptosinherit, in which case the ToS will be copied from
- the inner packet if it is IPv4 or IPv6 (otherwise it will be
- 0). Note that the ECN fields are always inherited. Default is
- 0.ttlinherit, in which case the
- TTL will be copied from the inner packet if it is IPv4 or IPv6
- (otherwise it will be the system default, typically 64).
- Default is the system default TTL.pmtudfalse to disable.header_cachefalse to disable.patch- A pair of virtual devices that act as a patch cable. The column must have the following key-value pair: -
- + A pair of virtual devices that act as a patch cable.null
+ These options apply to interfaces with of
+ gre, ipsec_gre, and capwap.
+
+ Each tunnel must be uniquely identified by the combination of , , , and . 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. +
+ +Optional. The key that received packets must contain, one of:
+ +0. The tunnel receives packets with no key or with a
+ key of 0. This is equivalent to specifying no at all.
+ flow. The tunnel accepts packets with any
+ key. 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.
+ +
+Optional. The key to be set on outgoing packets, one of:
+ +0. Packets sent through the tunnel will have no key.
+ This is equivalent to specifying no at all.
+ flow. Packets sent through the tunnel will
+ have the key 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.
+ in_key and
+ out_key at the same time.
+ inherit, in which case
+ the ToS will be copied from the inner packet if it is IPv4 or IPv6
+ (otherwise it will be 0). The ECN fields are always inherited.
+ Default is 0.
+ inherit, in which case the TTL will be copied
+ from the inner packet if it is IPv4 or IPv6 (otherwise it will be the
+ system default, typically 64). Default is the system default TTL.
+ true to
+ enable.
+ df_inherit option is not set, or if
+ the encapsulated packet is not IP. Default is enabled; set to
+ false to disable.
+ false to disable.
+
+ Only gre interfaces support these options.
+
iptables) and it may be useful to disable it if these
+ features are required or as a debugging measure. Default is enabled,
+ set to false to disable.
+
+ Only gre and ipsec_gre interfaces support
+ these options.
+
+ Optional. Compute GRE checksums on outgoing packets. Default is
+ disabled, set to true to enable. Checksums present on
+ incoming packets will be validated regardless of this setting.
+
+ GRE checksums impose a significant performance penalty because they + cover the entire packet. The encapsulated L3, L4, and L7 packet + contents typically have their own checksums, so this additional + checksum only adds value for the GRE and encapsulated L2 headers. +
+ +
+ This option is supported for ipsec_gre, but not useful
+ because GRE checksums are weaker than, and redundant with, IPsec
+ payload authentication.
+
+ Only ipsec_gre interfaces support these options.
+
certificate
+ option.
+ certificate.
+ If certificate contains the private key, this option may
+ be omitted.
+
+ Only patch interfaces support these options.
+
peer option must specify this 's
+ name. That is, the two patch interfaces must have reversed and peer values.
- The observed state of the physical network link; - i.e. whether a carrier is detected by the interface. + The observed state of the physical network link. This is ordinarily + the link's carrier status. If the interface's is + a bond configured for miimon monitoring, it is instead the network + link's miimon status. +
++ The number of times Open vSwitch has observed the + of this change.
- Key-value pairs that report port status. Supported status
- values are type-dependent; some interfaces may not have
- a valid driver_name, for example.
-
The currently defined key-value pairs are:
-driver_namedriver_versionfirmware_versionsource_ipgre or capwap.tunnel_egress_ifaceremote_ip.
- This could be an internal interface such as a bridge port.tunnel_egress_iface_carrierdown
- and up.gre or capwap.
+
+ Key-value pairs that report interface statistics. The current
+ implementation updates these counters periodically. Future
+ implementations may update them when an interface is created, when they
+ are queried (e.g. using an OVSDB select operation), and
+ just before an interface is deleted due to virtual interface hot-unplug
+ or VM shutdown, and perhaps at other times, but not on any regular
+ periodic basis.
+
+ These are the same statistics reported by OpenFlow in its struct
+ ofp_port_stats structure. If an interface does not support a
+ given statistic, then that pair is omitted.
+
These settings control ingress policing for packets received on this
@@ -1167,9 +1384,9 @@
Maximum burst size for data received on this interface, in kb. The
- default burst size if set to 0 is 1000 kb. This value
- has no effect if
- is 0.0 is 1000 kb. This value
+ has no effect if
+ is 0.
Specifying a larger burst size lets the algorithm be more forgiving, which is important for protocols like TCP that react severely to @@ -1181,137 +1398,177 @@
+ 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. +
-attached-macMAC
- field in the VIF record for this interface.iface-idxs-vif-uuid.
- Additionally the following key-value pairs specifically
- apply to an interface that represents a virtual Ethernet interface
- connected to a virtual machine. These key-value pairs should not be
- present for other types of interfaces. Keys whose names end
- in -uuid have values that uniquely identify the entity
- in question. For a Citrix XenServer hypervisor, these values are
- UUIDs in RFC 4122 format. Other hypervisors may use other
- formats.
+ 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.
-The currently defined key-value pairs for XenServer are:
-xs-vif-uuidxs-network-uuidxs-vm-uuidlacp-port-prioritytrue, 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.
+ 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.
- Key-value pairs that report interface statistics. The current
- implementation updates these counters periodically. In the future,
- we plan to, instead, update them when an interface is created, when
- they are queried (e.g. using an OVSDB select operation),
- and just before an interface is deleted due to virtual interface
- hot-unplug or VM shutdown, and perhaps at other times, but not on any
- regular periodic basis.
- The currently defined key-value pairs are listed below. These are
- the same statistics reported by OpenFlow in its struct
- ofp_port_stats structure. If an interface does not support a
- given statistic, then that pair is omitted.
rx_packetsrx_bytestx_packetstx_bytesrx_droppedrx_frame_errrx_over_errrx_crc_errrx_errorstx_droppedcollisionstx_errorsstable bond mode to make slave
+ selection decisions. Allocating values consistently across interfaces
+ participating in a bond will guarantee consistent slave selection
+ decisions across ovs-vswitchd instances when using
+ stable bonding mode.
+
+ These key-value pairs specifically apply to an interface that
+ represents a virtual Ethernet interface connected to a virtual
+ machine. These key-value pairs should not be present for other types
+ of interfaces. Keys whose names end in -uuid have
+ values that uniquely identify the entity in question. For a Citrix
+ XenServer hypervisor, these values are UUIDs in RFC 4122 format.
+ Other hypervisors may use other formats.
+
MAC field
+ in the VIF record for this interface.
+ Common
+ Columns at the beginning of this document.
+
+ false otherwise.
- Key-value pairs that report manager status.
-last_errorstrerror(errno). This key
- will exist only if an error has occurred.stateVOID (connection is disabled),
- BACKOFF (attempting to reconnect at an increasing
- period), CONNECTING (attempting to connect),
- ACTIVE (connected, remote host responsive), and
- IDLE (remote host idle, sending keep-alive). These
- values may change in the future. They are provided only for human
- consumption.sec_since_connectstrerror(errno). This key
+ will exist only if an error has occurred.
+ + The state of the connection to the manager: +
sec_since_disconnectVOIDBACKOFFCONNECTINGACTIVEIDLE+ These values may change in the future. They are provided only for + human consumption. +
+
+ 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. +
Common
+ Columns at the beginning of this document.
+
+