BMP Extension for Path Marking
TLVNTT164-168, Carrer de NumanciaBarcelona08029Spaincamilo@ntt.netNTTSiriusdreef 70-72HoofddorpWT2132Netherlandspaolo@ntt.netINSALyonFrancePierre.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-lucente-bmp-tlv.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 RFC4271, the BMP RM Message
consists of the Common Header, Per-Peer Header, and the BGP Update PDU.
According to draft-lucente-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. To include the path status along with each BGP path, we define the
Path Marking TLV, shown as follows. Type = TBD1 (2 Octets): Path Marking.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 String field.Path-Status (4 Octets): indicates the path status of the BGP Update
PDU encapsulated in the RM Message. Currently 8 types of path status
are defined, as shown in Table 1. Reason String (Variable): indicates the reasons/explanations of
the path status indicated in the Path Type field. The detailed
Reason String format is defined in Figure 2. The Path type field contains a bitfield where each bit encodes a
specific role of the path. Multiple bits may be set when a path is
used in multiple roles.The best-path is defined in RFC4271
and the best-external path is defined in draft-ietf-idr-best-external.A primary path is a recursive or non-recursive path that can be
used all the time as long as a walk starting from this path can end to
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.All other reachable paths are marked as 'Non-installed'.Lastly, all paths that are considered unreachable are marked as
'Unreachable next-hop'. Unreachable paths may be sent only in some
specific cases.The reason string fields include multiple TLVs containing freeform
ASCII encoded messsages containing the reason of a specific path
status.Sub Type 1 (2 Octets) = TBD2: Non-Best Reason String.Length (2 Octets): indicates the length of the value field of
the Non-Best Reason String.Non-Best Reason String (Variable): includes the reason why
the path has a non-best status.Sub Type 2 (2 Octets) = TBD3: Uninstalled Reason String.Length (2 Octets): indicates the length of the value field of
the Uninstalled Reason String.Uninstalled Reason String (Variable): includes the reason why
the path has an uninstalled status.Sub Type 3 (2 Octets) = TBD4: Unreachable Reason String.Length (2 Octets): indicates the length of the value field of
the Unreachable Reason String.Unreachable Reason String (Variable): includes the reason why
the path has an unreachable status.TBD. This document requests that IANA assign the following new parameters
to the BMP parameters name space.This document defines the Path Marking TLV with Type = TBD1: Path
Marking (Section 2). This document defines three new sub types of the Reason String in
the Path Marking TLV (Section 2.2).Sub Type 1 = TBD2: Non-Best Reason String.Sub Type 2 = TBD3: Uninstalled Reason String.Sub Type 3 = TBD4: Unreachable Reason String. It is not believed that this document adds any additional security
considerations.