схема базы данных hardware_vtep (hardware_vtep database schema)
Tunnel TABLE
A tunnel created by a Physical_Switch
.
Summary:
local Physical_Locator
remote Physical_Locator
Bidirectional Forwarding Detection (BFD):
BFD Local Configuration:
bfd_config_local : bfd_dst_mac
optional string
bfd_config_local : bfd_dst_ip
optional string
BFD Remote Configuration:
bfd_config_remote : bfd_dst_mac
optional string
bfd_config_remote : bfd_dst_ip
optional string
BFD Parameters:
bfd_params : enable
optional string, either true
or
false
bfd_params : min_rx
optional string, containing an
integer, at least 1
bfd_params : min_tx
optional string, containing an
integer, at least 1
bfd_params : decay_min_rx
optional string, containing an
integer
bfd_params : forwarding_if_rx
optional string, either true
or
false
bfd_params : cpath_down
optional string, either true
or
false
bfd_params : check_tnl_key
optional string, either true
or
false
BFD Status:
bfd_status : enabled
optional string, either true
or
false
bfd_status : state
optional string, one of admin_down
,
down
, init
, or up
bfd_status : forwarding
optional string, either true
or
false
bfd_status : diagnostic
optional string
bfd_status : remote_state
optional string, one of admin_down
,
down
, init
, or up
bfd_status : remote_diagnostic
optional string
bfd_status : info
optional string
Details:
local
: Physical_Locator
Tunnel end-point local to the physical switch.
remote
: Physical_Locator
Tunnel end-point remote to the physical switch.
Bidirectional Forwarding Detection (BFD):
BFD, defined in RFC 5880, allows point to point detection of
connectivity failures by occasional transmission of BFD control
messages. VTEPs are expected to implement BFD.
BFD operates by regularly transmitting BFD control messages at a
rate negotiated independently in each direction. Each endpoint
specifies the rate at which it expects to receive control
messages, and the rate at which it's willing to transmit them. An
endpoint which fails to receive BFD control messages for a period
of three times the expected reception rate will signal a
connectivity fault. In the case of a unidirectional connectivity
issue, the system not receiving BFD control messages will signal
the problem to its peer in the messages it transmits.
A hardware VTEP is expected to use BFD to determine reachability
of devices at the end of the tunnels with which it exchanges
data. This can enable the VTEP to choose a functioning service
node among a set of service nodes providing high availability. It
also enables the NVC to report the health status of tunnels.
In many cases the BFD peer of a hardware VTEP will be an Open
vSwitch instance. The Open vSwitch implementation of BFD aims to
comply faithfully with the requirements put forth in RFC 5880.
Open vSwitch does not implement the optional Authentication or
``Echo Mode'' features.
BFD Local Configuration:
The HSC writes the key-value pairs in the bfd_config_local
column
to specify the local configurations to be used for BFD sessions
on this tunnel.
bfd_config_local : bfd_dst_mac
: optional string
Set to an Ethernet address in the form xx:xx:xx:xx:xx:xx
to set the MAC expected as destination for received BFD
packets. The default is 00:23:20:00:00:01
.
bfd_config_local : bfd_dst_ip
: optional string
Set to an IPv4 address to set the IP address that is
expected as destination for received BFD packets. The
default is 169.254.1.0
.
BFD Remote Configuration:
The bfd_config_remote
column is the remote counterpart of the
bfd_config_local
column. The NVC writes the key-value pairs in
this column.
bfd_config_remote : bfd_dst_mac
: optional string
Set to an Ethernet address in the form xx:xx:xx:xx:xx:xx
to set the destination MAC to be used for transmitted BFD
packets. The default is 00:23:20:00:00:01
.
bfd_config_remote : bfd_dst_ip
: optional string
Set to an IPv4 address to set the IP address used as
destination for transmitted BFD packets. The default is
169.254.1.1
.
BFD Parameters:
The NVC sets up key-value pairs in the bfd_params
column to
enable and configure BFD.
bfd_params : enable
: optional string, either true
or false
True to enable BFD on this Tunnel
. If not specified, BFD
will not be enabled by default.
bfd_params : min_rx
: optional string, containing an integer, at
least 1
The shortest interval, in milliseconds, at which this BFD
session offers to receive BFD control messages. The remote
endpoint may choose to send messages at a slower rate.
Defaults to 1000
.
bfd_params : min_tx
: optional string, containing an integer, at
least 1
The shortest interval, in milliseconds, at which this BFD
session is willing to transmit BFD control messages.
Messages will actually be transmitted at a slower rate if
the remote endpoint is not willing to receive as quickly
as specified. Defaults to 100
.
bfd_params : decay_min_rx
: optional string, containing an integer
An alternate receive interval, in milliseconds, that must
be greater than or equal to bfd_params:min_rx
. The
implementation should switch from bfd_params:min_rx
to
bfd_params:decay_min_rx
when there is no obvious incoming
data traffic at the tunnel, to reduce the CPU and
bandwidth cost of monitoring an idle tunnel. This feature
may be disabled by setting a value of 0. This feature is
reset whenever bfd_params:decay_min_rx
or
bfd_params:min_rx
changes.
bfd_params : forwarding_if_rx
: optional string, either true
or
false
When true
, traffic received on the Tunnel
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 *
bfd_params:min_rx
amount of time. Otherwise, even if
traffic is received, the bfd_params:forwarding
will be
false
.
bfd_params : cpath_down
: optional string, either true
or false
Set to true to notify the remote endpoint that traffic
should not be forwarded to this system for some reason
other than a connectivity failure on the interface being
monitored. The typical underlying reason is ``concatenated
path down,'' that is, that connectivity beyond the local
system is down. Defaults to false.
bfd_params : check_tnl_key
: optional string, either true
or false
Set to true to make BFD accept only control messages with
a tunnel key of zero. By default, BFD accepts control
messages with any tunnel key.
BFD Status:
The VTEP sets key-value pairs in the bfd_status
column to report
the status of BFD on this tunnel. When BFD is not enabled, with
bfd_params:enable
, the HSC clears all key-value pairs from
bfd_status
.
bfd_status : enabled
: optional string, either true
or false
Set to true if the BFD session has been successfully
enabled. Set to false if the VTEP cannot support BFD or
has insufficient resources to enable BFD on this tunnel.
The NVC will disable the BFD monitoring on the other side
of the tunnel once this value is set to false.
bfd_status : state
: optional string, one of admin_down
, down
,
init
, or up
Reports the state of the BFD session. The BFD session is
fully healthy and negotiated if UP
.
bfd_status : forwarding
: optional string, either true
or false
Reports whether the BFD session believes this Tunnel
may
be used to forward traffic. Typically this means the local
session is signaling UP
, and the remote system isn't
signaling a problem such as concatenated path down.
bfd_status : diagnostic
: optional string
A diagnostic code specifying the local system's reason for
the last change in session state. The error messages are
defined in section 4.1 of [RFC 5880].
bfd_status : remote_state
: optional string, one of admin_down
,
down
, init
, or up
Reports the state of the remote endpoint's BFD session.
bfd_status : remote_diagnostic
: optional string
A diagnostic code specifying the remote system's reason
for the last change in session state. The error messages
are defined in section 4.1 of [RFC 5880].
bfd_status : info
: optional string
A short message providing further information about the
BFD status (possibly including reasons why BFD could not
be enabled).