X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=vswitchd%2Fvswitch.xml;h=7f2fd587d754afc469964b1111935851a2e01854;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hp=35d59b93f526b39710f42819d42fff6fe9212412;hpb=a6363cfddb91620c9325e2812ae5af96a8d7f127;p=sliver-openvswitch.git
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 35d59b93f..7f2fd587d 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -123,48 +123,45 @@
-
- A number of flows as a nonnegative integer. This sets number of
- flows at which eviction from the datapath 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 maximum
+ number of flows allowed in the datapath flow table. Internally OVS
+ will choose a flow limit which will likely be lower than this number,
+ based on real time network conditions.
- The default is 2500. Values below 100 will be rounded up to 100.
+ The default is 200000.
-
+
- Specifies userspace behaviour for handling flow misses. This takes
- precedence over flow-eviction-threshold.
+ Specifies the number of threads for software datapaths to use for
+ handling new flows. The default the number of online CPU cores minus
+ the number of revalidators.
-
- auto
- - Handle automatically based on the flow-eviction-threshold and
- the flow setup governer (default, recommended).
- with-facets
- - Always create facets. Expensive kernel flow creation and
- statistics tracking is always performed, even on flows with only
- a small number of packets.
- without-facets
- - Always handle without facets. Forces flow misses to be handled
- in userspace. May cause an increase in CPU usage and packet loss
- on high throughput.
-
+ This configuration is per datapath. If you have more than one
+ software datapath (e.g. some system
bridges and some
+ netdev
bridges), then the total number of threads is
+ n-handler-threads
times the number of software
+ datapaths.
-
Specifies the number of threads for software datapaths to use for
- handling new flows. The default is two less than the number of
- online CPU cores (but at least 1).
+ revalidating flows in the datapath. Typically, there is a direct
+ correlation between the number of revalidator threads, and the number
+ of flows allowed in the datapath. The default is the number of cpu
+ cores divided by four plus one. If n-handler-threads
is
+ set, the default changes to the number of cpu cores minus the number
+ of handler threads.
This configuration is per datapath. If you have more than one
@@ -568,9 +565,22 @@
- List of OpenFlow protocols that may be used when negotiating a
- connection with a controller. A default value of
- OpenFlow10
will be used if this column is empty.
+
+ List of OpenFlow protocols that may be used when negotiating
+ a connection with a controller. OpenFlow 1.0, 1.1, 1.2, and
+ 1.3 are enabled by default if this column is empty.
+
+
+
+ The current implementation of OpenFlow 1.4 support is not safe:
+ ovs-vswitchd
will abort when certain unimplemented
+ features are tested. Thus, for now it is suitable only for
+ experimental use. For this reason, OpenFlow 1.4 is supported only
+ if, in addition to specifying OpenFlow14
in this field,
+ ovs-vswitchd
is invoked with the
+ --enable-of14
option. (When support becomes safe, this
+ option will be removed.)
+
@@ -1306,14 +1316,19 @@
- Open vSwitch currently assigns the OpenFlow port number for an
- interface once, when the client first adds the interface. It does
- not change the port number later if the client sets or changes or
- clears . Therefore, to ensure that
- takes effect, the client should set
- it in the same database transaction that creates the interface.
- (Future versions of Open vSwitch might honor changes to .)
+ A client should ideally set this column's value in the same
+ database transaction that it uses to create the interface. Open
+ vSwitch version 2.1 and later will honor a later request for a
+ specific port number, althuogh it might confuse some controllers:
+ OpenFlow does not have a way to announce a port number change, so
+ Open vSwitch represents it over OpenFlow as a port deletion
+ followed immediately by a port addition.
+
+
+
+ If is set or changed to some other
+ port's automatically assigned port number, Open vSwitch chooses a
+ new port number for the latter port.
@@ -1953,10 +1968,13 @@
- True to consider the interface capable of packet I/O as long as it
- continues to receive any packets (not just BFD packets). This
- prevents link congestion that causes consecutive BFD control packets
- to be lost from marking the interface down.
+ When true
, traffic received on the
+ is used to indicate the capability of packet
+ I/O. BFD control packets are still transmitted and received. At
+ least one BFD control packet must be received every 100 * amount of time. Otherwise, even if
+ traffic are received, the
+ will be false
.
@@ -1980,6 +1998,16 @@
expected as destination for received BFD packets. The default is
00:23:20:00:00:01
.
+
+
+ Set to an IPv4 address to set the IP address used as source for
+ transmitted BFD packets. The default is 169.254.1.0
.
+
+
+
+ Set to an IPv4 address to set the IP address used as destination
+ for transmitted BFD packets. The default is 169.254.1.1
.
+
@@ -2019,6 +2047,13 @@
In case of a problem, set to a short message that reports what the
remote endpoint's BFD session thinks is wrong.
+
+
+ Counts the number of
+ flaps since start. A flap is considered as a change of the
+ value.
+
@@ -2048,11 +2083,18 @@
- 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 .
+
+ 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 .
+
+
+ According to the 802.1ag specification, MPIDs can only range between
+ [1, 8191]. However, extended mode (see ) supports eight byte MPIDs.
+
@@ -2182,8 +2224,8 @@
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
.
+ compatibility with 802.1ag compliant implementations. And extended
+ mode allows eight byte MPIDs. Defaults to false
.
@@ -2192,9 +2234,10 @@
is true, the CFM
module operates in demand mode. When in demand mode, traffic
received on the is used to indicate
- liveness. CCMs are still transmitted and received, but if the
- is receiving traffic, their absence does not
- cause a connectivity fault.
+ liveness. CCMs are still transmitted and received. At least one
+ CCM must be received every 100 * amount of time. Otherwise, even if traffic
+ are received, the CFM module will raise the connectivity fault.
@@ -2527,6 +2570,75 @@
column has no effect.
+
+
+
+ This string set specifies which fields should be used for
+ address prefix tracking. Prefix tracking allows the
+ classifier to skip rules with longer than necessary prefixes,
+ resulting in better wildcarding for datapath flows.
+
+
+ Prefix tracking may be beneficial when a flow table contains
+ matches on IP address fields with different prefix lengths.
+ For example, when a flow table contains IP address matches on
+ both full addresses and proper prefixes, the full address
+ matches will typically cause the datapath flow to un-wildcard
+ the whole address field (depending on flow entry priorities).
+ In this case each packet with a different address gets handed
+ to the userspace for flow processing and generates its own
+ datapath flow. With prefix tracking enabled for the address
+ field in question packets with addresses matching shorter
+ prefixes would generate datapath flows where the irrelevant
+ address bits are wildcarded, allowing the same datapath flow
+ to handle all the packets within the prefix in question. In
+ this case many userspace upcalls can be avoided and the
+ overall performance can be better.
+
+
+ This is a performance optimization only, so packets will
+ receive the same treatment with or without prefix tracking.
+
+
+ The supported fields are: tun_id
,
+ tun_src
, tun_dst
,
+ nw_src
, nw_dst
(or aliases
+ ip_src
and ip_dst
),
+ ipv6_src
, and ipv6_dst
. (Using this
+ feature for tun_id
would only make sense if the
+ tunnel IDs have prefix structure similar to IP addresses.)
+
+
+ For example, prefixes=ip_dst,ip_src
instructs the
+ flow classifier to track the IP destination and source
+ addresses used by the rules in this specific flow table. To
+ set the prefix fields, the flow table record needs to exist:
+
+
+ ovs-vsctl set Bridge br0 flow_tables:0=@N1 -- --id=@N1 create Flow_Table name=table0
+ -
+ Creates a flow table record for the OpenFlow table number 0.
+
+
+ ovs-vsctl set Flow_Table table0 prefixes=ip_dst,ip_src
+ -
+ Enables prefix tracking for IP source and destination
+ address fields.
+
+
+
+
+ There is a maximum number of fields that can be enabled for any
+ one flow table. Currently this limit is 3.
+
+
+
+
+ The overall purpose of these columns is described under Common
+ Columns
at the beginning of this document.
+
+
+
@@ -2890,12 +3002,18 @@
tcp:ip
[:port
]
- The specified TCP port on the host at the
- given ip, which must be expressed as an IP
- address (not a DNS name).
- If port is not specified, it currently
- defaults to 6633. In the future, the default will change to
- 6653, which is the IANA-defined value.
+
+ The specified TCP port on the host at the given
+ ip, which must be expressed as an IP address (not a
+ DNS name), where ip can be IPv4 or IPv6 address. If
+ ip is an IPv6 address, wrap it in square brackets,
+ e.g. tcp:[::1]:6632
.
+
+
+ If port is not specified, it currently defaults to
+ 6633. In the future, the default will change to 6653, which is
+ the IANA-defined value.
+
@@ -2905,29 +3023,48 @@
pssl:
[port][:ip
]
-
-
Listens for SSL connections on the specified TCP
- port. If ip, which must be expressed
- as an IP address (not a DNS name), is specified, then
- connections are restricted to the specified local IP
- address. The
- column in the table must point
- to a valid SSL configuration when this form is used.
- If port is not specified, it currently
- defaults to 6633. In the future, the default will change to
- 6653, which is the IANA-defined value.
- SSL support is an optional feature that is not always built as
- part of Open vSwitch.
+
+ Listens for SSL connections on the specified TCP port.
+ If ip, which must be expressed as an IP address (not a
+ DNS name), is specified, then connections are restricted to the
+ specified local IP address (either IPv4 or IPv6). If
+ ip is an IPv6 address, wrap it in square brackets,
+ e.g. pssl:6632:[::1]
.
+
+
+ If port is not specified, it currently defaults to
+ 6633. If ip is not specified then it listens only on
+ IPv4 (but not IPv6) addresses. The
+
+ column in the table must point to a
+ valid SSL configuration when this form is used.
+
+
+ If port is not specified, it currently defaults to
+ 6633. In the future, the default will change to 6653, which is
+ the IANA-defined value.
+
+
+ SSL support is an optional feature that is not always built as
+ part of Open vSwitch.
+
ptcp:
[port][:ip
]
-
-
Listens for connections on the specified TCP
- port. If ip, which must be expressed
- as an IP address (not a DNS name), is specified, then
- connections are restricted to the specified local IP
- address.
- If port is not specified, it currently
- defaults to 6633. In the future, the default will change to
- 6653, which is the IANA-defined value.
+
+ Listens for connections on the specified TCP port. If
+ ip, which must be expressed as an IP address (not a
+ DNS name), is specified, then connections are restricted to the
+ specified local IP address (either IPv4 or IPv6). If
+ ip is an IPv6 address, wrap it in square brackets,
+ e.g. ptcp:6632:[::1]
. If ip is not
+ specified then it listens only on IPv4 addresses.
+
+
+ If port is not specified, it currently defaults to
+ 6633. In the future, the default will change to 6653, which is
+ the IANA-defined value.
+
When multiple controllers are configured for a single bridge, the
@@ -3221,8 +3358,10 @@
The specified TCP port on the host at the given
- ip, which must be expressed as an IP address
- (not a DNS name).
+ ip, which must be expressed as an IP address (not a
+ DNS name), where ip can be IPv4 or IPv6 address. If
+ ip is an IPv6 address, wrap it in square brackets,
+ e.g. tcp:[::1]:6632
.
If port is not specified, it currently defaults
@@ -3233,13 +3372,16 @@
pssl:
[port][:ip
]
- Listens for SSL connections on the specified TCP
- port. Specify 0 for port to have
- the kernel automatically choose an available port. If
- ip, which must be expressed as an IP address
- (not a DNS name), is specified, then connections are
- restricted to the specified local IP address. The column in the [port.
+ Specify 0 for port to have the kernel automatically
+ choose an available port. If ip, which must be
+ expressed as an IP address (not a DNS name), is specified, then
+ connections are restricted to the specified local IP address
+ (either IPv4 or IPv6 address). If ip is an IPv6
+ address, wrap in square brackets,
+ e.g. ]pssl:6632:[::1]
. If ip is not
+ specified then it listens only on IPv4 (but not IPv6) addresses.
+ The column in the table must point to a valid SSL
configuration when this form is used.
@@ -3256,12 +3398,15 @@
ptcp:
[port][:ip
]
- Listens for connections on the specified TCP
- port. Specify 0 for port to have
- the kernel automatically choose an available port. If
- ip, which must be expressed as an IP address
- (not a DNS name), is specified, then connections are
- restricted to the specified local IP address.
+ Listens for connections on the specified TCP port.
+ Specify 0 for port to have the kernel automatically
+ choose an available port. If ip, which must be
+ expressed as an IP address (not a DNS name), is specified, then
+ connections are restricted to the specified local IP address
+ (either IPv4 or IPv6 address). If ip is an IPv6
+ address, wrap it in square brackets,
+ e.g. ptcp:6632:[::1]
. If ip is not
+ specified then it listens only on IPv4 addresses.
If port is not specified, it currently defaults