Some properties that one might think as belonging to a port are actually
- part of the port's members.
+ part of the port's
- A bridge port must be configured for VLANs in one of two
- mutually exclusive ways:
+
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 an 802.1Q header if it has a nonzero VLAN ID.
+
+
+
+ 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 egressing on an access port
+ have no 802.1Q header.
+
+
+
+ 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.
+
+
+
+ - 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 will 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.
+
+
+
+
+ The VLAN mode of the port, as described above. When this column is
+ empty, a default mode is selected as follows:
+
- - A ``trunk port'' has an empty value for
-
and a possibly non-empty
- value.
- - An ``implicitly tagged VLAN port'' or ``access port''
- has an nonempty value for
and an empty
- value.
+ -
+ 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.
+
- If and are both
- nonempty, the configuration is ill-formed.
-
+
- If nonempty, this port's implicitly tagged VLAN. Frames
- arriving on trunk ports will be forwarded to this port only
- if they are tagged with the given VLAN. Frames arriving on
- other VLAN 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.
- When a frame with a 802.1Q header that indicates a nonzero VLAN is
- received on an implicit VLAN port, it is discarded.
- Must be empty if this is a trunk port.
+
+ 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.
+
- The 802.1Q VLAN(s) that this port trunks. If the column is
- empty, then the port trunks all VLANs as well as packets that
- have no VLAN header. Otherwise, only frames that have an
- 802.1Q header with one of the specified VLANs are accepted.
- If 0
is included, then frames without an 802.1Q
- header are also accepted.
- Must be empty unless this is a trunk 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.
+
+
+ A native-tagged or native-untagged port always trunks its native
+ VLAN, regardless of whether includes that
+ 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.
+
- A port that has more than one interface is a ``bonded port.''
- Bonding allows for load balancing and fail-over. Open vSwitch
- supports ``source load balancing'' (SLB) bonding, which
- assigns flows to slaves based on source MAC address, with
- periodic rebalancing as traffic patterns change. This form of
- bonding does not require 802.3ad or other special support from
- the upstream switch to which the slave devices are
- connected.
+ A port that has more than one interface is a ``bonded port.'' Bonding
+ allows for load balancing and fail-over. Some kinds of bonding will
+ work with any kind of upstream switch:
+
+
+ balance-slb
+ -
+ Balances flows among slaves based on source MAC address and output
+ VLAN, with periodic rebalancing as traffic patterns change.
+
+
+ active-backup
+ -
+ Assigns all flows to one slave, failing over to a backup slave when
+ the active slave is disabled.
+
+
+
+
+ The following modes require the upstream switch to support 802.3ad with
+ successful LACP negotiation:
+
+
+
+ balance-tcp
+ -
+ Balances flows among slaves based on L2, L3, and L4 protocol
+ information such as destination MAC address, IP address, and TCP
+ port.
+
+
+ stable
+ -
+
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
, 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.
+
+
These columns apply only to bonded ports. Their values are
- otherwise ignored.
+ otherwise ignored.
-
- For a bonded port, the number of milliseconds for which carrier must
- stay up on an interface before the interface is considered to be up.
- Specify 0
to enable the interface immediately.
- This setting is honored only when at least one bonded interface is
- already enabled. When no interfaces are enabled, then the first bond
- interface to come up is enabled immediately.
+
+ The type of bonding used for a bonded port. Defaults to
+ active-backup
if unset.
+
-
- For a bonded port, the number of milliseconds for which carrier must
- stay down on an interface before the interface is considered to be
- down. Specify 0
to disable the interface immediately.
+
+ 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
+ that they may be disabled. These settings determine how Open vSwitch
+ detects link failure.
+
+
+
+ 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
.
+
+
+
+
+ The number of milliseconds for which carrier must stay up on an
+ interface before the interface is considered to be up. Specify
+ 0
to enable the interface immediately.
+
+
+
+ This setting is honored only when at least one bonded interface is
+ already enabled. When no interfaces are enabled, then the first
+ bond interface to come up is enabled immediately.
+
+
+
+
+ The number of milliseconds for which carrier must stay down on an
+ interface before the interface is considered to be down. Specify
+ 0
to disable the interface immediately.
+
+
+
+
+
+ LACP, the Link Aggregation Control Protocol, is an IEEE standard that
+ allows switches to automatically detect that they are connected by
+ multiple links and aggregate across those links. These settings
+ control LACP behavior.
+
+
+
+ Configures LACP on this port. LACP allows directly connected
+ switches to negotiate which links may be bonded. LACP may be enabled
+ on non-bonded ports for the benefit of any switches they may be
+ 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 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. 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.
+
+
+
+
+ The LACP timing which should be used on this .
+ Possible values are fast
, slow
and a
+ positive number of milliseconds. By default slow
is
+ used. When configured to be fast
LACP heartbeats are
+ requested at a rate of once per second causing connectivity
+ problems to be detected more quickly. In slow
mode,
+ heartbeats are requested at a rate of once every 30 seconds.
+
+
+
+ Users may manually set a heartbeat transmission rate to increase
+ the fault detection speed further. When manually set, OVS expects
+ the partner switch to be configured with the same transmission
+ rate. Manually setting lacp-time
to something other
+ than fast
or slow
is not supported by the
+ LACP specification.
+
+
+
+
+ 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
.
+
+
+
+
+
+ These settings control behavior when a bond is in
+ balance-slb
mode, regardless of whether the bond was
+ intentionally configured in SLB mode or it fell back to SLB mode
+ because LACP negotiation failed.
+
+
+
+ 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.
+
+
+
For a bonded port, whether to create a fake internal interface with the
name of the port. Use only for compatibility with legacy software that
@@ -260,11 +952,45 @@
+