BMP Extension for Path Marking
TLVNTT164-168, Carrer de NumanciaBarcelona08029Spaincamilo@ntt.netNTTSiriusdreef 70-72HoofddorpWT2132Netherlandspaolo@ntt.netINSA-LyonLyonFrancePierre.Francois@insa-lyon.frHuaweiHuawei Bld., No.156 Beiqing Rd.Beijing100095Chinaguyunan@huawei.comSwisscomBinzring 17Zurich8045Switzerlandthomas.graf@swisscom.comThe BGP Monitoring Protocol (BMP) provides an interface for obtaining
BGP Path information. BGP Path Information is conveyed within BMP Route
Monitoring (RM) messages. This document proposes an extension to BMP to
convey the status of a BGP path after being processed by the BGP
best-path selection algorithm. This extension makes use of the TLV
mechanims described in draft-ietf-grow-bmp-tlv and draft-lucente-grow-bmp-tlv-ebit
.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP 14
RFC 2119RFC
8174 when, and only when, they appear in all capitals, as shown
here.For a given prefix, multiple paths with different path status, e.g.,
the "best-path", "back-up path" and so on, may co-exist in the BGP RIB
after being processed by the local policy and the BGP decision process.
The path status information is currently not carried in the BGP Update
Message RFC4271 or in the BMP Update
Message RFC7854.External systems can use the path status for various applications.
The path status is commonly checked by operators when performing
troubleshooting. Having such status stored in a centralized system can
enable the development of tools facilitating this process. Optimisation
systems can include the path status in their process, and also use the
status as a validation source (since it can compare the calculated state
to the actual outcome of the network, such as primary and backup path).
As a final example, path status information can complement other
centralized sources of data, for example, flow collectors.This document defines a so-called Path Marking TLV to convey the BGP
path status information to the BMP server. The BMP Path Marking is
defined to be prepended in the BMP Route Monitoring (RM) Message.As per RFC7854, the BMP RM Message
consists of the Common Header, Per-Peer Header, and the BGP Update PDU.
According to draft-grow-bmp-tlv ,
optional trailing data in TLV format is allowed in the BMP RM Message to
convey characteristics of transported NLRIs (i.e. to help stateless
parsing) or vendor-specific data. Such TLV types are to be defined for
each application.This document defines the Prefix Information TLV to convey
descriptional information for route prefixes. The format is shown
below.Type = TBD1 (2 Octets): Prefix Information TLV.Length (2 Octets): indicates the length of the value field of the
Prefix Information TLV.Count (2 Octets): indicates the number of sub TLVs followed in
the Prefix Information Value field.Prefix information value (Variable): indicates the value of the
Prefix Informtion TLV, which consists of one or multiple sub
TLVs.As stated in Appendix F.1 of RFC4271,
multiple address prefixes with the same path attributes are allowed to
be specified in one message. However, such multiple prefixes may have
different prefix information, e.g., path status. Thus, to indicate the
path status for each BGP prefix, we define the Path Marking sub-TLV. The
order of the Path Marking sub-TLVs MUST be in accordance with the prefix
order of the Update PDU.The E-bit
mechanism allows the usage of vendor-specific TLVs in addition to
IANA-registered one. In this document, both encoding options for the
Path Marking sub-TLV are described.E bit: For an IANA-registered sub-TLV, the E bit MUST be set to
0.Type = TBD2 (15 Bits): Path Marking sub-TLV.Length (2 Octets): indicates the length of the value field of
the Path Marking TLV. The value field further consists of the
Path-Status field and Reason Code field.Path Status (4 Octets): indicates the path status of the BGP
Update PDU encapsulated in the RM Message. Currently 9 types of
path status are defined, as shown in Table 1.Reason Code (4 Octets): indicates the reasons/explanations of
the path status indicated in the Path Type field. The detailed
Reason Code bitmap remains to be defined.The Path Status field contains a bitmap where each bit
encodes a specific role of the path. Multiple bits may be set when
multiple path status apply to a path.The best-path is defined in RFC4271 and the best-external path is
defined in draft-ietf-idr-best-external.An invalid path is a route that does not enter the BGP decision
process.A non-selected path is a route that is not selected in the BGP
decision process. Back-up routes are considered non-selected,
while the best and ECMP routes are not considered as
non-selected.A primary path is a recursive or non-recursive path whose
nexthop resolution ends with an adjacency draft-ietf-rtgwg-bgp-pic. A
prefix can have more than one primary path if multipath is
configured draft-lapukhov-bgp-ecmp-considerations.
A best-path is also considered as a primary path.A backup path is also installed in the RIB, but it is not used
until some or all primary paths become unreachable. Backup paths
are used for fast convergence in the event of failures.A non-installed path refers to the route that is not installed
into the IP routing table.For the advertisement of multiple paths for the same address
prefix without the new paths implicitly replacing any previous
ones, the add-path status is applied RFC7911.E bit: For an Enterprise-specific sub-TLV, the E bit MUST be
set to 1.Type = 1 (15 Bits): indicates that it's the Enterprise-specific
Path Marking sub-TLV.Length (2 Octets): indicates the length of the value field of
the Path Marking TLV. The value field further consists of the
Path-Status field and Reason Code field.PEN Number (4 octets): indicates the IANA enterprise number
IANA-PEN.Path Status (4 Octets): indicates enterprise-specific path
status, which remains to be defined.Reason Code (Variable): indicates the reasons/explanations of
the path status indicated in the Path Type field. The detailed
Reason Code string is to be defined.We would like to thank Jeff Haas for his valuable comments.This document requests that IANA assign the following new parameters
to the BMP parameters name space.Type = TBD1 (2 Octets): Prefix Information TLV.Type = TBD2 (15 Bits): Path Marking sub-TLV.It is not believed that this document adds any additional security
considerations.