- An OpenFlow controller.
+ An OpenFlow controller.
+
+ Open vSwitch permits a bridge to have any number of OpenFlow
+ controllers. When multiple controllers are configured, Open vSwitch
+ connects to all of them simultaneously. OpenFlow 1.0 does not specify
+ how multiple controllers coordinate in interacting with a single switch,
+ so more than one controller should be specified only if the controllers
+ are themselves designed to coordinate with each other.
- Connection method for controller.
- The following connection methods are currently
- supported:
+ Connection method for controller.
+ The following connection methods are currently
+ supported:
ssl:ip
[:port
]
-
@@ -523,15 +618,58 @@
the given ip, which must be expressed as an IP address
(not a DNS name).
discover
- - Enables controller discovery.
+ -
+
Enables controller discovery.
+ In controller discovery mode, Open vSwitch broadcasts a DHCP
+ request with vendor class identifier OpenFlow
across
+ all of the bridge's network devices. It will accept any valid
+ DHCP reply that has the same vendor class identifier and includes
+ a vendor-specific option with code 1 whose contents are a string
+ specifying the location of the controller in the same format as
+ .
+ The DHCP reply may also, optionally, include a vendor-specific
+ option with code 2 whose contents are a string specifying the URI
+ to the base of the OpenFlow PKI
+ (e.g. http://192.168.0.1/openflow/pki
). This URI is
+ used only for bootstrapping the OpenFlow PKI at initial switch
+ setup; ovs-vswitchd
does not use it at all.
+
none
- Disables the controller.
+ When multiple controllers are configured for a single bridge, the
+ values must be unique. Duplicate
+ values yield unspecified results.
- Either in-band
or out-of-band
. If not
- specified, the default is implementation-specific.
+ If it is specified, this setting must be one of the following
+ strings that describes how Open vSwitch contacts this OpenFlow
+ controller over the network:
+
+
+ in-band
+ - In this mode, this controller's OpenFlow traffic travels over the
+ bridge associated with the controller. With this setting, Open
+ vSwitch allows traffic to and from the controller regardless of the
+ contents of the OpenFlow flow table. (Otherwise, Open vSwitch
+ would never be able to connect to the controller, because it did
+ not have a flow to enable it.) This is the most common connection
+ mode because it is not necessary to maintain two independent
+ networks.
+ out-of-band
+ - In this mode, OpenFlow traffic uses a control network separate
+ from the bridge associated with this controller, that is, the
+ bridge does not use any of its own network devices to communicate
+ with the controller. The control network must be configured
+ separately, before or after
ovs-vswitchd
is started.
+
+
+
+ If not specified, the default is implementation-specific. If
+ is discover
, the connection mode
+ is always treated as in-band
regardless of the actual
+ setting.
@@ -565,7 +703,7 @@
times the inactivity probe interval
(see ), then Open vSwitch
will take over responsibility for setting up flows. In
- this mode, Open vSwitch causes the datapath to act like an
+ this mode, Open vSwitch causes the bridge to act like an
ordinary MAC-learning switch. Open vSwitch will continue
to retry connecting to the controller in the background
and, when the connection succeeds, it will discontinue its
@@ -576,19 +714,20 @@
connecting to the controller forever.
- If this value is unset, the default is
- implementation-specific.
+ If this value is unset, the default is implementation-specific.
+ When more than one controller is configured,
+ is considered only when none of the
+ configured controllers can be contacted. At that point, the bridge
+ enters secure mode if any of the controllers'
+ is set to secure
. Otherwise,
+ it enters standalone mode if at least one
+ is set to standalone
. If none of the
+ values are set, the default is
+ implementation-defined.
-
- In conjunction with ,
- the maximum number of unused packet credits that the bridge will
- allow to accumulate, in packets. If not specified, the default
- is implementation-specific.
-
-
The maximum rate at which packets in unknown flows will be
forwarded to the OpenFlow controller, in packets per second. This
@@ -608,11 +747,21 @@
actual rate that packets are sent to the controller is up to
twice the specified rate.
+
+
+ In conjunction with ,
+ the maximum number of unused packet credits that the bridge will
+ allow to accumulate, in packets. If not specified, the default
+ is implementation-specific.
+
-
+
+ These values are considered only when
+ is discover
.
+
- If is discover
, a POSIX
+ A POSIX
extended regular expression against which the discovered controller
location is validated. The regular expression is implicitly
anchored at the beginning of the controller location string, as
@@ -621,8 +770,7 @@
- If is discover
,
- whether to update /etc/resolv.conf
when the
+ Whether to update /etc/resolv.conf
when the
controller is discovered. If not specified, the default
is implementation-specific. Open vSwitch will only modify
/etc/resolv.conf
if the DHCP response that it receives
@@ -630,20 +778,35 @@
-
-
- If is not discover
, the IP
- address of the gateway to configure on the local port.
-
+
+ These values are considered only in in-band control mode (see
+ ) and only when
+ is not discover
. (For controller discovery, the network
+ configuration obtained via DHCP is used instead.)
+
+ When multiple controllers are configured on a single bridge, there
+ should be only one set of unique values in these columns. If different
+ values are set for these columns in different controllers, the effect
+ is unspecified.
- If is not discover
, the IP
- address to configure on the local port.
+ The IP address to configure on the local port,
+ e.g. 192.168.0.123
. If this value is unset, then
+ and are
+ ignored.
- If is not discover
, the IP
- netmask to configure on the local port.
+ The IP netmask to configure on the local port,
+ e.g. 255.255.255.0
. If is set
+ but this value is unset, then the default is chosen based on whether
+ the IP address is class A, B, or C.
+
+
+
+ The IP address of the gateway to configure on the local port, as a
+ string, e.g. 192.168.0.1
. Leave this column unset if
+ this network has no gateway.