Internet-Draft bmp-vrf-loc-rib-enhancement October 2026
Zhuang, et al. Expires 30 April 2027 [Page]
Workgroup:
GROW
Internet-Draft:
draft-zhuang-grow-bmp-enhancement-for-vrf-loc-rib-02
Published:
Intended Status:
Standards Track
Expires:
Authors:
S. Zhuang
Huawei Technologies
N. Geng
Huawei Technologies
S. Dikshit
Aruba Networks, HPE
H. Wang
Huawei Technologies

Enhancement for Monitoring VRF's Loc-RIB

Abstract

BMP Loc-RIB [RFC9069] enforces that the BMP router sets the Peer Address value of a VPN route information to zero, and sets the Peer Distinguisher value of a VPN route information to the route distinguisher or unique locally defined value of the particular instance the Loc-RIB belongs to. This document introduces the option to communicate the Remote VRF Information from which a VPN route was received when reporting that VPN route information with BMP Loc-RIB.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 30 April 2027.

▲

Table of Contents

1. Introduction

The generation of BGP Adj-RIB-In, Loc-RIB, and Adj-RIB-Out comes from BGP route exchange and route policy processing [RFC4271]. BGP Monitoring Protocol (BMP) provides the monitoring of BGP Adj-RIB-In [RFC7854], BGP Loc-RIB [RFC9069], and BGP Adj-RIB-Out [RFC8671]. Using BMP Loc-RIB [RFC9069], the Peer Address field of a Per-Peer header is Zero-filled, and the Peer Distinguisher value of a VPN route information is setted to the route distinguisher or unique locally defined value of the particular instance the Loc-RIB belongs to. The following usecase is used as an example to describe the problems faced by the current solution.

      +-------+
      |  BMP  |
      |Server |
      +---+---+
          /
         /
        /lo0:10.10.10.1           lo0:10.10.10.2
   +---+---+                   +-------+
   |  PE1  +-----+    +--------+  PE2  |
   +-------+     |    |        +-------+
VPN11(RD11,I-RT1)|    |    VPN21(RD21,E-RT1)---CE21(Prefix P1)
                 |    |    VPN22(RD22,E-RT1)---CE22(Prefix P1)
                 |    |    VPN23(RD23,E-RT1)---CE23(Prefix P1)
               +-+----+-+
               |   RR   | lo0:10.10.10.100
               +--------+
                        |
                        |
                        |      +-------+
                        +------+  PE3  | lo0:10.10.10.3
                               +-------+
                           VPN31(RD31,E-RT1)---CE31(Prefix P1)

Figure 1: Monitoring VRF's Loc-RIB

PE1, PE2, and PE3 establish BGP VPNv4 peer sessions with the RR, as shown in the above figure, PE1 receives multiple VPNv4 routes with the address prefix P1:

+-----+-------+-----------+-----------+-------------+----+------+
| RD  | Prefix| Nexthop   | Originator| Peer Address| RT | Label|
+-----+-------+-----------+-----------+-------------+----+------+
| RD21| P1    | 10.10.10.2| 10.10.10.2| 10.10.10.100| RT1| L21  |
+-----+-------+-----------+-----------+-------------+----+------+
| RD22| P1    | 10.10.10.2| 10.10.10.2| 10.10.10.100| RT1| L22  |
+-----+-------+-----------+-----------+-------------+----+------+
| RD23| P1    | 10.10.10.2| 10.10.10.2| 10.10.10.100| RT1| L23  |
+-----+-------+-----------+-----------+-------------+----+------+
| RD31| P1    | 10.10.10.3| 10.10.10.3| 10.10.10.100| RT1| L31  |
+-----+-------+-----------+-----------+-------------+----+------+
...

Figure 2: VPNv4 Routes in PE1

The above 4 routes carry the route target RT1 and the import route target of the VPN instance VPN11 of PE1 is RT1, VPN11 of PE1 will selects one route from the 4 routes as the best route, for example, the route with RD22, and import the route with RD22 to the routing table of the VPN instance VPN11 of PE1.

+-------+-----------+-----------+-------------+----+------+----+
| Prefix| Nexthop   | Originator| Peer Address| RT | Label|R-RD|
+-------+-----------+-----------+-------------+----+------+----+
| P1    | 10.10.10.2| 10.10.10.2| 10.10.10.100| RT1| L22  |RD22|
+-------+-----------------------+-------------+----+------+----+
...

Figure 3: VPN Routes in the routing table of the VPN instance VPN11

PE1 uses the solution defined in RFC9069 to report the Loc-RIB route information in VPN11 to the BMP server.

   Prefix: P1
   Nexthop: 10.10.10.2
   Peer Distinguisher: RD11 --> The RD of VPN11 on PE1
   Peer Address: 0.0.0.0
   Peer BGP ID: 10.10.10.1 --> The router-id of the VRF instance VPN11

Figure 4: The Loc-RIB routing information in VPN11 to the BMP server

PE1 reports the Loc-RIB routing information in VPN11 to the BMP server through an RM message.

Problem: After obtaining the above route information via the RM message, the BMP server cannot deduce the remote VPN instance information corresponding to the VPN route information because the reported information does not contain the remote device address and the RD of the remote VPN instance.

When reporting the Loc-RIB routing information in VPN11 to the BMP server by using an RM message, PE1 reports the remote device address and the RD of the remote VPN instance by using TLVs newly added in this draft.

1.1. Requirements Language

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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2. TLV Encoding

This section describes a solution based on BMPv4 TLVs [I-D.ietf-grow-bmp-tlv]. Section 2.1 describes a BMPv4 TLV used to convey the Remote VRF Information TLV. Section 2.2 and 2.3 introduces optional TLVs to report the label/SRv6 ID carried in the remote VPN route.

2.1. Remote VRF Information TLV

The format of the Remote VRF Information TLV is defined as follows:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Information Type     |       Information Length      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|G|        Index                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          AFI                  |       SAFI                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Remote BGP ID                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Remote Route Distinguisher                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Remote Route Distinguisher (Cont.)         |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 5: The format of the Remote VRF Information TLV

Where:

  • Information Type: indicates a Remote VRF Information TLV, the value is TBD1.

  • Information Length: It indicates the length of the value of the Remote VRF Information TLV and excludes the 2 octets of the index field.

  • Index: The Index field is 2-byte long of which the top-most bit, G-bit, is used to flag a Group Index. It is defined in [I-D.ietf-grow-bmp-tlv].

  • AFI: address family information

  • SAFI: sub-address family information

  • Remote BGP ID: remote peer address or BGP ID or Originater

  • Remote Route Distinguisher: indicates the RD of the remote VPN instance.

A BMP speaker that supports this extension MAY attach the Remote VRF Information TLV to BMP Route Monitoring messages carrying VRF Loc-RIB routes. When included, all fields of this TLV MUST follow the encoding defined in Figure 5. A BMP collector MAY ignore this TLV without breaking interoperability with existing [RFC9069] BMP processing.

2.1.1. Applicability to EVPN Type-5 / IRB Inter-VRF Route Leaking

The Remote VRF Information TLV defined in this section applies equally to EVPN Loc-RIB [RFC9069] reporting for EVPN Route Type 5 (IP Prefix Route) RFC7432 [RFC9135] [RFC9136] routes that have been leaked between EVPN Instances (EVIs) via Integrated Routing and Bridging (IRB), by setting AFI=25 and SAFI=70 in the TLV. No change to the wire format defined in Figure 5 is required.

This addresses the dynamic inter-VRF route leaking (IVRL) gap noted in [I-D.saum-grow-bmp-afi-safi-evpn], which defines per-EVI counters that quantify how many routes were leaked into a given EVI, but does not itself identify which remote EVI each leaked route came from. The TLV defined in this document supplies that missing detail. The two mechanisms are intended to be used together rather than as alternatives.

2.2. VPN Label TLV

In some usecases, the label carried in the remote VPN route needs to be reported. Therefore, the following TLV are defined in this document:

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Information Type     |       Information Length      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|G|        Index                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          MPLS Label for Remote VPN Route      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 6: The format of the VPN Label TLV

Where:

  • Information Type: indicates a VPN Label TLV, the value is TBD2.

  • Information Length: indicates the length of the value of the VPN Label TLV, it excludes the 2 octets of the index field.

  • Index: The Index field is 2-byte long of which the top-most bit, G-bit, is used to flag a Group Index. It is defined in [I-D.ietf-grow-bmp-tlv].

  • MPLS Label for Remote VPN Route: indicates the MPLS Label of the remote VPN route.

The VPN Label TLV is OPTIONAL. A speaker that implements the Remote VRF Information TLV MAY additionally include this TLV to report the MPLS label carried in the original remote VPN route. If present, the MPLS Label field MUST be encoded as shown in Figure 6.

2.3. VPN SRv6 SID TLV

In some usecases, the SRv6 ID carried in the remote VPN route needs to be reported. Therefore, the following TLV are defined in this document:

  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |          Information Type     |       Information Length      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |G|        Index                |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                                                               |
  |          SRv6 SID for Remote VPN Route                        |
  |                                                               |
  |                                                               |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 7: The format of the VPN SRv6 SID TLV

Where:

  • Information Type: indicates a VPN SRv6 SID TLV, the value is TBD3.

  • Information Length: indicates the length of the value of the VPN SRv6 SID TLV, it excludes the 2 octets of the index field.

  • Index: The Index field is 2-byte long of which the top-most bit, G-bit, is used to flag a Group Index. It is defined in [I-D.ietf-grow-bmp-tlv].

  • SRv6 SID for Remote VPN Route: indicates the SRv6 SID of the remote VPN route.

The VPN SRv6 SID TLV is OPTIONAL. A speaker that implements the Remote VRF Information TLV MAY additionally include this TLV to report the SRv6 SID carried in the original remote VPN route. If present, the SRv6 SID field MUST occupy 16 octets as shown in Figure 7.

3. Operations

As described in section 1, when PE1 reports the Loc-RIB routing information in VPN11 to the BMP server through an RM message, PE1 reports the remote device address and the RD of the remote VPN instance through the Remote VRF Information TLV defined in this draft, as shown in the following:

   Prefix: P1
   Nexthop: 10.10.10.2
   Peer Distinguisher: RD11 --> The RD of VPN11 on PE1
   Peer Address: 0.0.0.0
   Peer BGP ID: 10.10.10.1 --> The router-id of the VRF instance VPN11
   Remote BGP ID: 10.10.10.2 --> The remote peer address or BGP ID or Originater
   Remote Route Distinguisher: RD22 --> The RD of the remote VPN instance

Figure 8: The Loc-RIB routing information in VPN11 to the BMP server

After obtaining the above route information via the RM message, the BMP server can deduce the remote VPN instance information corresponding to the VPN route information via the reported information in the Remote VRF Information TLV.

In some usecases, the label/SRv6 ID carried in the remote VPN route needs to be reported, as described in section 1, when PE1 reports the Loc-RIB routing information in VPN11 to the BMP server through an RM message, it can report the label/SRv6 ID carried in the remote VPN route as following:

   Prefix: P1
   Nexthop: 10.10.10.2
   Peer Distinguisher: RD11 --> The RD of VPN11 on PE1
   Peer Address: 0.0.0.0
   Peer BGP ID: 10.10.10.1 --> The router-id of the VRF instance VPN11
   Remote BGP ID: 10.10.10.2 --> The remote peer address or BGP ID or Originater
   Remote Route Distinguisher: RD22 --> The RD of the remote VPN instance
   (Optional)Label: L22 or (Optional)SRv6 SID: SID22

Figure 9: The Loc-RIB routing information in VPN11 to the BMP server

The same applies to EVPN Route Type 5 routes leaked between EVIs via IRB. Consider PE1 hosting EVI11 (RD11, import RT1) with a symmetric-IRB L3VNI, and PE2 hosting EVI21 (RD21, export RT1) whose locally attached CE advertises IP Prefix P1 as an EVPN Route Type 5. PE1 imports P1 into EVI11 via IRB.

Reporting the Loc-RIB routing information in EVI11 with the Remote VRF Information TLV gives:

   Prefix: P1
   Nexthop: 10.10.10.2
   Peer Distinguisher: RD11 --> The RD of EVI11 on PE1
   Peer Address: 0.0.0.0
   Peer BGP ID: 10.10.10.1 --> The router-id of EVI11 on PE1
   AFI: 25, SAFI: 70
   Remote BGP ID: 10.10.10.2 --> The remote peer address or BGP ID
   Remote Route Distinguisher: RD21 --> The RD of the remote EVI

Figure 10: The Loc-RIB routing information in EVI11 to the BMP server

Without the TLV, the BMP server sees only that P1 is present in EVI11 with a next hop of PE2, and cannot determine that it was leaked in from EVI21 specifically.

4. IANA Considerations

TBD

5. Security Considerations

The same considerations as in Section 11 of [RFC7854] apply to this document. Implementations of this protocol SHOULD require that sessions only be established with authorized and trusted monitoring devices. It is also believed that this document does not introduce any additional security considerations.

6. References

6.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC4271]
Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI 10.17487/RFC4271, , <https://www.rfc-editor.org/info/rfc4271>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[RFC7854]
Scudder, J., Ed., Fernando, R., and S. Stuart, "BGP Monitoring Protocol (BMP)", RFC 7854, DOI 10.17487/RFC7854, , <https://www.rfc-editor.org/info/rfc7854>.
[RFC8671]
Evens, T., Bayraktar, S., Lucente, P., Mi, P., and S. Zhuang, "Support for Adj-RIB-Out in the BGP Monitoring Protocol (BMP)", RFC 8671, DOI 10.17487/RFC8671, , <https://www.rfc-editor.org/info/rfc8671>.
[RFC9069]
Evens, T., Bayraktar, S., Bhardwaj, M., and P. Lucente, "Support for Local RIB in the BGP Monitoring Protocol (BMP)", RFC 9069, DOI 10.17487/RFC9069, , <https://www.rfc-editor.org/info/rfc9069>.
[I-D.ietf-grow-bmp-tlv]
Lucente, P., Gu, Y., Younsi, M., and P. Francois, "BMP v4: Extended TLV Support for BGP Monitoring Protocol (BMP)", Work in Progress, Internet-Draft, draft-ietf-grow-bmp-tlv-21, , <https://datatracker.ietf.org/doc/html/draft-ietf-grow-bmp-tlv-21>.

6.2. Informative References

[RFC7432]
Sajassi, A., Ed., Aggarwal, R., Bitar, N., Isaac, A., Uttaro, J., Drake, J., and W. Henderickx, "BGP MPLS-Based Ethernet VPN", RFC 7432, DOI 10.17487/RFC7432, , <https://www.rfc-editor.org/info/rfc7432>.
[RFC9135]
Sajassi, A., Salam, S., Thoria, S., Drake, J., and J. Rabadan, "Integrated Routing and Bridging in Ethernet VPN (EVPN)", RFC 9135, DOI 10.17487/RFC9135, , <https://www.rfc-editor.org/info/rfc9135>.
[RFC9136]
Rabadan, J., Ed., Henderickx, W., Drake, J., Lin, W., and A. Sajassi, "IP Prefix Advertisement in Ethernet VPN (EVPN)", RFC 9136, DOI 10.17487/RFC9136, , <https://www.rfc-editor.org/info/rfc9136>.
[I-D.saum-grow-bmp-afi-safi-evpn]
Dikshit, D., Srivastava, M. K., and C. Lin, "EVPN-Specific BMP RIB Statistics Extensions", Work in Progress, Internet-Draft, draft-saum-grow-bmp-afi-safi-evpn-06, , <https://datatracker.ietf.org/doc/html/draft-saum-grow-bmp-afi-safi-evpn-06>.

Authors' Addresses

Shunwan Zhuang
Huawei Technologies
Beijing
China
Nan Geng
Huawei Technologies
Beijing
China
Saumya Dikshit
Aruba Networks, HPE
Karnataka
India
Haibo Wang
Huawei Technologies
Beijing
China