rfc9832.original   rfc9832.txt 
Network Working Group K. Vairavakkalai, Ed. Internet Engineering Task Force (IETF) K. Vairavakkalai, Ed.
Internet-Draft N. Venkataraman, Ed. Request for Comments: 9832 N. Venkataraman, Ed.
Intended status: Experimental Juniper Networks, Inc. Category: Experimental Juniper Networks, Inc.
Expires: 1 September 2025 28 February 2025 ISSN: 2070-1721 August 2025
BGP Classful Transport Planes BGP Classful Transport Planes
draft-ietf-idr-bgp-ct-39
Abstract Abstract
This document specifies a mechanism referred to as "Intent Driven This document specifies a mechanism referred to as "Intent-Driven
Service Mapping". The mechanism uses BGP to express intent based Service Mapping". The mechanism uses BGP to express intent-based
association of overlay routes with underlay routes having specific association of overlay routes with underlay routes having specific
Traffic Engineering (TE) characteristics satisfying a certain Service Traffic Engineering (TE) characteristics satisfying a certain Service
Level Agreement (SLA). This is achieved by defining new constructs Level Agreement (SLA). This is achieved by defining new constructs
to group underlay routes with sufficiently similar TE characteristics to group underlay routes with sufficiently similar TE characteristics
into identifiable classes (called "Transport Classes"), that overlay into identifiable classes (called "Transport Classes" or "TCs"), that
routes use as an ordered set to resolve reachability (Resolution overlay routes use as an ordered set to resolve reachability
Schemes) towards service endpoints. These constructs can be used, (Resolution Schemes) towards service endpoints. These constructs can
for example, to realize the "IETF Network Slice" defined in TEAS be used, for example, to realize the "IETF Network Slice" defined in
Network Slices framework. the TEAS Network Slices framework.
Additionally, this document specifies protocol procedures for BGP Additionally, this document specifies protocol procedures for BGP
that enable dissemination of service mapping information in a network that enable dissemination of service mapping information in a network
that may span multiple cooperating administrative domains. These that may span multiple cooperating administrative domains. These
domains may be administered either by the same provider or by closely domains may be administered either by the same provider or by closely
coordinating providers. A new BGP address family that leverages RFC coordinating providers. A new BGP address family that leverages the
4364 ("BGP/MPLS IP Virtual Private Networks (VPNs)") procedures and procedures described in "BGP/MPLS IP Virtual Private Networks (VPNs)"
follows RFC 8277 ("Using BGP to Bind MPLS Labels to Address (RFC 4364) and follows the NLRI encoding described in RFC 8277
Prefixes") NLRI encoding is defined to enable each advertised ("Using BGP to Bind MPLS Labels to Address Prefixes") is defined to
underlay route to be identified by its class. This new address enable each advertised underlay route to be identified by its class.
family is called "BGP Classful Transport", a.k.a., BGP CT. This new address family is called "BGP Classful Transport" (or "BGP
CT").
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.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This document is not an Internet Standards Track specification; it is
provisions of BCP 78 and BCP 79. published for examination, experimental implementation, and
evaluation.
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 This document defines an Experimental Protocol for the Internet
and may be updated, replaced, or obsoleted by other documents at any community. This document is a product of the Internet Engineering
time. It is inappropriate to use Internet-Drafts as reference Task Force (IETF). It represents the consensus of the IETF
material or to cite them other than as "work in progress." community. It has received public review and has been approved for
publication by the Internet Engineering Steering Group (IESG). Not
all documents approved by the IESG are candidates for any level of
Internet Standard; see Section 2 of RFC 7841.
This Internet-Draft will expire on 1 September 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9832.
Copyright Notice Copyright Notice
Copyright (c) 2025 IETF Trust and the persons identified as the Copyright (c) 2025 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 2. Terminology
2.1. Definitions and Notations . . . . . . . . . . . . . . . . 8 2.1. Abbreviations
3. Architecture Overview . . . . . . . . . . . . . . . . . . . . 10 2.2. Definitions and Notations
4. Transport Class . . . . . . . . . . . . . . . . . . . . . . . 13 2.3. Requirements Language
4.1. Classifying TE tunnels . . . . . . . . . . . . . . . . . 13 3. Architecture Overview
4.2. Transport Route Database . . . . . . . . . . . . . . . . 15 4. Transport Class
4.3. "Transport Class" Route Target Extended Community . . . . 15 4.1. Classifying TE Tunnels
5. Resolution Scheme . . . . . . . . . . . . . . . . . . . . . . 17 4.2. Transport Route Database (TRDB)
5.1. Mapping Community . . . . . . . . . . . . . . . . . . . . 18 4.3. "Transport Class" Route Target Extended Community
6. BGP Classful Transport Family . . . . . . . . . . . . . . . . 19 5. Resolution Scheme
6.1. NLRI Encoding . . . . . . . . . . . . . . . . . . . . . . 19 5.1. Mapping Community
6.2. Next Hop Encoding . . . . . . . . . . . . . . . . . . . . 19 6. BGP Classful Transport Family
6.3. Carrying multiple Encapsulation Information . . . . . . . 20 6.1. NLRI Encoding
6.4. Comparison with Other Families using RFC-8277 Encoding . 20 6.2. Next Hop Encoding
7. Protocol Procedures . . . . . . . . . . . . . . . . . . . . . 22 6.3. Carrying Multiple Encapsulation Information
7.1. Preparing the network to deploy Classful Transport 6.4. Comparison with Other Families Using Encoding from RFC 8277
planes . . . . . . . . . . . . . . . . . . . . . . . . . 22 7. Protocol Procedures
7.2. Originating Classful Transport Routes . . . . . . . . . . 22 7.1. Preparing the Network to Deploy Classful Transport Planes
7.3. Processing Classful Transport Routes by Ingress Nodes . . 23 7.2. Originating Classful Transport Routes
7.4. Readvertising Classful Transport Route by Border Nodes . 24 7.3. Processing Classful Transport Routes by Ingress Nodes
7.5. Border Nodes Receiving Classful Transport Routes on 7.4. Readvertising Classful Transport Route by Border Nodes
EBGP . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7.5. Border Nodes Receiving Classful Transport Routes on EBGP
7.6. Avoiding Path Hiding Through Route Reflectors . . . . . . 25 7.6. Avoiding Path Hiding Through Route Reflectors
7.7. Avoiding Loops Between Route Reflectors in Forwarding 7.7. Avoiding Loops Between Route Reflectors in Forwarding Paths
Path . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.8. Ingress Nodes Receiving Service Routes with a Mapping 7.8. Ingress Nodes Receiving Service Routes with a Mapping
Community . . . . . . . . . . . . . . . . . . . . . . . 25 Community
7.9. Best Effort Transport Class . . . . . . . . . . . . . . . 26 7.9. Best-Effort Transport Class
7.10. Interaction with BGP Attributes Specifying Next Hop Address 7.10. Interaction with BGP Attributes Specifying Next Hop Address
and Color . . . . . . . . . . . . . . . . . . . . . . . 27 and Color
7.11. Applicability to Flowspec Redirect to IP . . . . . . . . 27 7.11. Applicability to Flowspec Redirect-to-IP
7.12. Applicability to IPv6 . . . . . . . . . . . . . . . . . . 28 7.12. Applicability to IPv6
7.13. SRv6 Support . . . . . . . . . . . . . . . . . . . . . . 28 7.13. SRv6 Support
7.14. Error Handling Considerations . . . . . . . . . . . . . . 29 7.14. Error-Handling Considerations
8. Illustration of BGP CT Procedures . . . . . . . . . . . . . . 29 8. Illustration of BGP CT Procedures
8.1. Reference Topology . . . . . . . . . . . . . . . . . . . 29 8.1. Reference Topology
8.2. Service Layer Route Exchange . . . . . . . . . . . . . . 31 8.2. Service-Layer Route Exchange
8.3. Transport Layer Route Propagation . . . . . . . . . . . . 32 8.3. Transport-Layer Route Propagation
8.4. Data Plane View . . . . . . . . . . . . . . . . . . . . . 35 8.4. Data Plane View
8.4.1. Steady State . . . . . . . . . . . . . . . . . . . . 35 8.4.1. Steady State
8.4.2. Local Repair of Primary Path . . . . . . . . . . . . 35 8.4.2. Local Repair of Primary Path
8.4.3. Absorbing Failure of Primary Path: Fallback to Best 8.4.3. Absorbing Failure of the Primary Path: Fallback to
Effort Tunnels . . . . . . . . . . . . . . . . . . . 36 Best-Effort Tunnels
9. Scaling Considerations . . . . . . . . . . . . . . . . . . . 36 9. Scaling Considerations
9.1. Avoiding Unintended Spread of BGP CT Routes Across 9.1. Avoiding Unintended Spread of BGP CT Routes Across Domains
Domains . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.2. Constrained Distribution of PNHs to SNs (On-Demand Next 9.2. Constrained Distribution of PNHs to SNs (On-Demand Next
Hop) . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Hop)
9.3. Limiting The Visibility Scope of PE Loopback as PNHs . . 38 9.3. Limiting the Visibility Scope of PE Loopback as PNHs
10. Operations and Manageability Considerations . . . . . . . . . 39 10. Operations and Manageability Considerations
10.1. MPLS OAM . . . . . . . . . . . . . . . . . . . . . . . . 39 10.1. MPLS OAM
10.2. Usage of Route Distinguisher and Label Allocation 10.2. Usage of RD and Label-Allocation Modes
Modes . . . . . . . . . . . . . . . . . . . . . . . . . 40 10.3. Managing Transport-Route Visibility
10.3. Managing Transport Route Visibility . . . . . . . . . . 41 11. Deployment Considerations
11. Deployment Considerations. . . . . . . . . . . . . . . . . . 44
11.1. Coordination Between Domains Using Different Community 11.1. Coordination Between Domains Using Different Community
Namespaces . . . . . . . . . . . . . . . . . . . . . . . 44 Namespaces
11.2. Managing Intent at Service and Transport layers. . . . . 44 11.2. Managing Intent at Service and Transport Layers
11.2.1. Service Layer Color Management . . . . . . . . . . . 44 11.2.1. Service-Layer Color Management
11.2.2. Non-Agreeing Color Transport Domains . . . . . . . . 45 11.2.2. Non-Agreeing Color Transport Domains
11.2.3. Heterogeneous Agreeing Color Transport Domains . . . 46 11.2.3. Heterogeneous Agreeing Color Transport Domains
11.3. Migration Scenarios. . . . . . . . . . . . . . . . . . . 49 11.3. Migration Scenarios
11.3.1. BGP CT Islands Connected via BGP LU Domain . . . . . 49 11.3.1. BGP CT Islands Connected via BGP LU Domain
11.3.2. BGP CT - Interoperability between MPLS and Other 11.3.2. BGP CT: Interoperability Between MPLS and Other
Forwarding Technologies . . . . . . . . . . . . . . . 51 Forwarding Technologies
11.4. MTU Considerations . . . . . . . . . . . . . . . . . . . 54 11.4. MTU Considerations
11.5. Use of DSCP . . . . . . . . . . . . . . . . . . . . . . 54 11.5. Use of DSCP
12. Applicability to Network Slicing
12. Applicability to Network Slicing . . . . . . . . . . . . . . 55 13. IANA Considerations
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 55 13.1. New BGP SAFI
13.1. New BGP SAFI . . . . . . . . . . . . . . . . . . . . . . 56 13.2. New Format for BGP Extended Community
13.2. New Format for BGP Extended Community . . . . . . . . . 56 13.2.1. Existing Registries
13.2.1. Existing Registries . . . . . . . . . . . . . . . . 57 13.2.2. New Registries
13.2.2. New Registries . . . . . . . . . . . . . . . . . . . 57 13.3. MPLS OAM Code Points
13.3. MPLS OAM Code Points . . . . . . . . . . . . . . . . . . 58 14. Transport Class ID Registry
14. Registries maintained by this document . . . . . . . . . . . 59 15. Security Considerations
14.1. Transport Class ID . . . . . . . . . . . . . . . . . . . 59 16. References
15. Security Considerations . . . . . . . . . . . . . . . . . . . 60 16.1. Normative References
16. References . . . . . . . . . . . . . . . . . . . . . . . . . 61 16.2. Informative References
16.1. Normative References . . . . . . . . . . . . . . . . . . 61 Appendix A. Extensibility Considerations
16.2. Informative References . . . . . . . . . . . . . . . . . 64 A.1. Signaling Intent over a PE-CE Attachment Circuit
Appendix A. Extensibility considerations . . . . . . . . . . . . 66 A.2. BGP CT Egress TE
A.1. Signaling Intent over PE-CE Attachment Circuit . . . . . 66 Appendix B. Applicability to Intra-AS and Different Inter-AS
A.2. BGP CT Egress TE . . . . . . . . . . . . . . . . . . . . 66 Deployments
Appendix B. Applicability to Intra-AS and different Inter-AS B.1. Intra-AS Use Case
deployments. . . . . . . . . . . . . . . . . . . . . . . 67 B.1.1. Topology
B.1. Intra-AS usecase . . . . . . . . . . . . . . . . . . . . 67 B.1.2. Transport Layer
B.1.1. Topology . . . . . . . . . . . . . . . . . . . . . . 67 B.1.3. Service-Layer Route Exchange
B.1.2. Transport Layer . . . . . . . . . . . . . . . . . . . 67 B.2. Inter-AS Option A Use Case
B.1.3. Service Layer route exchange . . . . . . . . . . . . 68 B.2.1. Topology
B.2. Inter-AS option A usecase . . . . . . . . . . . . . . . . 69 B.2.2. Transport Layer
B.2.1. Topology . . . . . . . . . . . . . . . . . . . . . . 69 B.2.3. Service Layer Route Exchange
B.2.2. Transport Layer . . . . . . . . . . . . . . . . . . . 69 B.3. Inter-AS Option B Use Case
B.2.3. Service Layer route exchange . . . . . . . . . . . . 70 B.3.1. Topology
B.3. Inter-AS option B usecase . . . . . . . . . . . . . . . . 71 B.3.2. Transport Layer
B.3.1. Topology . . . . . . . . . . . . . . . . . . . . . . 71 B.3.3. Service-Layer Route Exchange
B.3.2. Transport Layer . . . . . . . . . . . . . . . . . . . 71 Appendix C. Why reuse RFCs 8277 and 4364?
B.3.3. Service Layer route exchange . . . . . . . . . . . . 72 C.1. Update Packing Considerations
Appendix C. Why reuse RFC 8277 and RFC 4364? . . . . . . . . . . 73 Appendix D. Scaling Using BGP MPLS Namespaces
C.1. Update packing considerations . . . . . . . . . . . . . . 74 Acknowledgements
Appendix D. Scaling using BGP MPLS Namespaces . . . . . . . . . 75 Contributors
Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Authors' Addresses
Co-Authors . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Other Contributors . . . . . . . . . . . . . . . . . . . . . . 76
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 77
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 77
1. Introduction 1. Introduction
Provider networks typically span across multiple domains where each Provider networks typically span across multiple domains where each
domain can either represent an Autonomous System (AS) or an Interior domain can either represent an Autonomous System (AS) or an Interior
Gateway Protocol (IGP) region within an AS. In these networks, Gateway Protocol (IGP) region within an AS. In these networks,
several services are provisioned between different pairs of service several services are provisioned between different pairs of service
endpoints (e.g., Provider Edge (PE) nodes), that can either be in the endpoints (e.g., Provider Edge (PE) nodes) that can be either in the
same domain or across different domains. same domain or across different domains.
[RFC9315] defines "Intent" as, "A set of operational goals (that a [RFC9315] defines "Intent" as:
network should meet) and outcomes (that a network is supposed to
deliver) defined in a declarative manner without specifying how to | A set of operational goals (that a network should meet) and
achieve or implement them.". | outcomes (that a network is supposed to deliver) defined in a
| declarative manner without specifying how to achieve or implement
| them.
This document prescribes constructs and procedures to realize This document prescribes constructs and procedures to realize
"Intent", and enable provider networks to be able to forward service "Intent" and enable provider networks to forward service traffic
traffic based on service specific intent, end-to-end across service based on service-specific intent from end-to-end across service
endpoints. endpoints.
The mechanisms described in this document achieve "Intent Driven The mechanisms described in this document achieve "Intent-Driven
Service Mapping" between any pair of service endpoints by: Service Mapping" between any pair of service endpoints by:
Provisioning end-to-end "intent-aware" paths using BGP. For * Provisioning end-to-end "intent-aware" paths using BGP. For
example, low latency path, best effort path. example, a low-latency path or a best-effort path.
Expressing a desired intent. For example, use low latency path * Expressing a desired intent. For example, use a low-latency path
with fallback to the best effort path. with a fallback to the best-effort path.
Forwarding service traffic "only" using end-to-end "intent-aware" * Forwarding service traffic "only" using end-to-end "intent-aware"
paths honoring that desired intent. paths honoring that desired intent.
The constructs and procedures defined in this document apply equally The constructs and procedures defined in this document apply equally
to intra-AS as well as inter-AS (a.k.a. multi-AS) Option A, Option B to intra-AS and inter-AS (a.k.a. multi-AS) deployments in the style
and Option C (Section 10, [RFC4364]) style deployments in provider of Option A, Option B, and Option C (Section 10 of [RFC4364]) in
networks. provider networks.
Such networks provision intra-domain transport tunnels between a pair Such networks provision intra-domain transport tunnels between a pair
of endpoints, typically a service node or a border node that service of endpoints, typically a service node or a border node that service
traffic traverses through. These tunnels are signaled using various traffic traverses through. These tunnels are signaled using various
tunneling protocols depending on the forwarding architecture used in tunneling protocols depending on the forwarding architecture used in
the domain, which can be Multiprotocol Label Switching (MPLS), the domain, which can be Multiprotocol Label Switching (MPLS),
Internet Protocol version 4 (IPv4), or Internet Protocol version 6 Internet Protocol version 4 (IPv4), or Internet Protocol version 6
(IPv6). (IPv6).
The mechanisms defined in this document allow different tunneling The mechanisms defined in this document allow different tunneling
technologies to become Transport Class aware. These can be applied technologies to become TC aware. These can be applied homogeneously
homogeneously to intra-domain tunneling technologies used in existing to intra-domain tunneling technologies used in existing brownfield
brownfield networks as well as new greenfield networks. For clarity, networks as well as new greenfield networks. For clarity, only some
only some tunneling technologies are detailed in this document. In tunneling technologies are detailed in this document. In some
some examples only MPLS Traffic Engineering (TE) examples are examples, only MPLS Traffic Engineering (TE) is described. Other
described. Other tunneling technologies have been described in tunneling technologies have been described in detail in other
detail in other documents and only an overview has been included in documents (and only an overview has been included in this document).
this document. For example, the details for Segment Routing (SRv6) For example, the details for Segment Routing over IPv6 (SRv6) are
are provided in [BGP-CT-SRv6], and an overview is provided in provided in [BGP-CT-SRv6] and an overview is provided in
Section 7.13. Section 7.13.
Customers need to be able to express desired Intent to the network, Customers need to be able to express desired Intent to the network,
and the network needs to have constructs able to enact the customer's and the network needs to have constructs able to enact the customer's
intent. The network constructs defined in this document are used to intent. The network constructs defined in this document are used to
classify and group these intra-domain tunnels based on various classify and group these intra-domain tunnels based on various
characteristics, like TE characteristics (e.g., low latency), into characteristics, like TE characteristics (e.g., low-latency), into
identifiable classes that can pass "intent-aware" traffic. These identifiable classes that can pass "intent-aware" traffic. These
constructs enable services to signal their intent to use one or more constructs enable services to signal their intent to use one or more
identifiable classes, and mechanisms to selectively map traffic onto identifiable classes and mechanisms to selectively map traffic onto
"intent-aware" tunnels for these classes. "intent-aware" tunnels for these classes.
This document introduces a new BGP address family called "BGP This document introduces a new BGP address family called "BGP
Classful Transport", that extends/stitches intent-aware intra-domain Classful Transport", which extends/stitches intent-aware intra-domain
tunnels belonging to the same class across domain boundaries, to tunnels belonging to the same class across domain boundaries to
establish end-to-end intent-aware paths between service endpoints. establish end-to-end intent-aware paths between service endpoints.
[Intent-Routing-Color] describes various use cases and applications [Intent-Routing-Color] describes various use cases and applications
of the procedures described in this document. of the procedures described in this document.
Appendix C provides an outline of the design philosophy behind this Appendix C provides an outline of the design philosophy behind this
specification. In particular, readers who are already familiar with specification. In particular, readers who are already familiar with
one or more BGP VPN technologies may want to review this appendix one or more BGP VPN technologies may want to review this appendix
before reading the main body of the specification. before reading the main body of the specification.
2. Terminology 2. Terminology
ABR: Area Border Router (Readvertises BGP CT or BGP LU routes with 2.1. Abbreviations
next hop self)
AFI: Address Family Identifier ABR: Area Border Router (readvertises BGP CT or BGP LU routes with
NH self)
AS: Autonomous System AFI: Address Family Identifier
ASBR: Autonomous System Border Router AS: Autonomous System
ASN: Autonomous System Number ASBR: Autonomous System Border Router
BGP VPN: VPNs built using RD, RT; architecture described in RFC4364 ASN: Autonomous System Number
BGP LU: BGP Labeled Unicast family (AFI/SAFIs 1/4, 2/4) BGP VPN: VPNs built using RD or RT; architecture described in
[RFC4364]
BGP CT: BGP Classful Transport family (AFI/SAFIs 1/76, 2/76) BGP LU: BGP Labeled Unicast family (AFI/SAFIs 1/4, 2/4)
BN: Border Node BGP CT: BGP Classful Transport family (AFI/SAFIs 1/76, 2/76)
CBF: Class Based Forwarding BN: Border Node
CsC: Carrier serving Carrier VPN CBF: Class-Based Forwarding
DSCP: Differentiated Services Code Point
EP: Endpoint of a tunnel, e.g. a loopback address in the network CCA: Community Carrying Attribute
EPE: Egress Peer Engineering CsC: Carriers' Carriers (serving the Carrier VPN)
eSN: Egress Service Node DSCP: Differentiated Services Code Point
FEC: Forwarding Equivalence Class EP: Endpoint (of a tunnel, e.g., a loopback address in the network)
FRR: Fast ReRoute (Pre-programmed next hop leg in forwarding) EPE: Egress Peer Engineering
iSN: Ingress Service Node eSN: Egress Service Node
L-ISIS: Labeled ISIS (RFC 8667) FEC: Forwarding Equivalence Class
LSP: Label Switched Path FRR: Fast Reroute (Preprogrammed NH leg in forwarding)
MPLS: Multi Protocol Label Switching iSN: Ingress Service Node
NLRI: Network Layer Reachability Information L-ISIS: Labeled ISIS (see RFC 8667)
PE: Provider Edge LSP: Label Switched Path
PIC: Prefix scale Independent Convergence MPLS: Multiprotocol Label Switching
PNH: Protocol Next Hop address carried in a BGP Update message NH: Next Hop
RD: Route Distinguisher NLRI: Network Layer Reachability Information
RD:EP : BGP CT Prefix consisting of Route Distinguisher and Endpoint PE: Provider Edge
RSVP-TE: Resource Reservation Protocol - Traffic Engineering PIC: Prefix Independent Convergence
RT: Route Target extended community PNH: Protocol Next Hop (address carried in a BGP UPDATE message)
RTC: Route Target Constrain (RFC 4684) RD: Route Distinguisher
SAFI: Subsequent Address Family Identifier RD:EP: Route Distinguisher and Endpoint (in a BGP Prefix)
SID: Segment Identifier RSVP-TE: Resource Reservation Protocol - Traffic Engineering
SLA: Service Level Agreement RT: Route Target (as used in Route Target extended community)
SN: Service Node RTC: Route Target Constrain [RFC4684]
SR: Segment Routing SAFI: Subsequent Address Family Identifier
SRTE: Segment Routing Traffic Engineering
TC: Transport Class SID: Segment Identifier
TC ID: Transport Class Identifier SLA: Service Level Agreement
TC-BE: Best Effort Transport Class SN: Service Node
TE: Traffic Engineering SR: Segment Routing
TEA: Tunnel Encapsulation Attribute, attribute type code 23 SRTE: Segment Routing Traffic Engineering
TRDB: Transport Route Database TC: Transport Class
UHP: Ultimate Hop Pop TC ID: Transport Class Identifier
VRF: Virtual Routing and Forwarding table TC-BE: Transport Class - Best Effort
2.1. Definitions and Notations TE: Traffic Engineering
BGP Community Carrying Attribute (CCA) : A BGP attribute that carries TEA: Tunnel Encapsulation Attribute (attribute type code 23)
community. Examples of BGP CCA are: COMMUNITIES (attribute code 8),
EXTENDED COMMUNITIES (attribute code 16), IPv6 Address Specific
Extended Community (attribute code 25), LARGE_COMMUNITY (attribute
code 32).
color:0:100 : This notation denotes a Color extended community as TRDB: Transport Route Database
defined in RFC 9012 with the Flags field set to 0 and the color field
set to 100.
End to End Tunnel: A tunnel spanning several adjacent tunnel domains UHP: Ultimate Hop Popping
created by "stitching" them together using MPLS labels or an
equivalent identifier based on the forwarding architecture.
Import processing: Receive side processing of an overlay route, VRF: Virtual Routing and Forwarding (used with a table)
including things like import policy application, resolution scheme
selection and next hop resolution.
Mapping Community: Any BGP CCA (e.g., Community, Extended Community) 2.2. Definitions and Notations
on an overlay route that maps to a Resolution Scheme. For example,
color:0:100, transport-target:0:100.
Provider Namespace: Internal Infrastructure address space in Provider BGP CCA:
network managed by the Operator. A BGP attribute that carries community. Examples of BGP CCAs are
COMMUNITIES (attribute code 8), EXTENDED COMMUNITIES (attribute
code 16), IPv6 Address Specific Extended Community (attribute code
25), and LARGE_COMMUNITY (attribute code 32).
Resolution Scheme: A construct comprising of an ordered set of TRDBs color:0:100:
to resolve next hop reachability, for realizing a desired intent. This notation denotes a Color Extended Community as defined in
[RFC9012] with the "Flags" field set to 0 and the "Color" field
set to 100.
Service Family: A BGP address family used for advertising routes for End-to-End Tunnel:
destinations in "data traffic". For example, AFI/SAFIs 1/1 or 1/128. A tunnel spanning several adjacent tunnel domains created by
"stitching" them together using MPLS labels or an equivalent
identifier based on the forwarding architecture.
Service Prefix: A destinations in "data traffic". Routes to these Import processing:
prefixes are carried in a Service family. Receive-side processing of an overlay route, including things like
import-policy application, resolution-scheme selection, and NH
resolution.
Transport Family: A BGP address family used for advertising tunnels, Mapping Community:
which are in turn used by service routes for resolution. For Any BGP CCA (e.g., Community, Extended Community) on an overlay
example, AFI/SAFIs 1/4 or 1/76. route that maps to a Resolution Scheme. For example, color:0:100,
transport-target:0:100.
Transport Tunnel : A tunnel over which a service may place traffic. Provider Namespace:
Such a tunnel can be provisioned or signaled using a variety of Internal Infrastructure address space in a provider network
means. For example, Generic Routing Encapsulation (GRE), UDP, LDP, managed by the Operator.
RSVP-TE, IGP FLEX-ALGO or SRTE.
Transport, Transport Layer: A layer in the network that contains Resolution Scheme:
Transport Tunnels and Transport Families. A construct comprising of an ordered set of TRDBs to resolve NH
reachability for realizing a desired intent.
Tunnel Route: A Route to Tunnel Destination/Endpoint that is Service Family:
installed at the headend (ingress) of the tunnel. A BGP address family used for advertising routes for destinations
in "data traffic". For example, AFI/SAFIs 1/1 or 1/128.
Tunnel Domain: A domain of the network containing Service Nodes (SNs) Service Prefix:
and Border Nodes (BNs) under a single administrative control that has A destination in "data traffic". Routes to these prefixes are
tunnels between them. carried in a Service family.
Brownfield network: An existing network that is already in service, Transport Family:
deploying a chosen set of technologies and hardware. Enhancements A BGP address family used for advertising tunnels, which are, in
and upgrades to such network deployments protect return on turn, used by service routes for resolution. For example, AFI/
investment, and should consider continuity of service. SAFIs 1/4 or 1/76.
Greenfield network: A new network deployment which can make choice of Transport Tunnel:
new technology or hardware as needed, with fewer constraints than A tunnel over which a service may place traffic. Such a tunnel
brownfield network. can be provisioned or signaled using a variety of means. For
example, Generic Routing Encapsulation (GRE), UDP, LDP, RSVP-TE,
IGP Flexible Algorithm (FLEX-ALGO), or SRTE.
Transport Class: A construct to group transport tunnels offering Transport, Transport Layer:
similar SLA (Ref: Sec 4.1). A layer in the network that contains Transport Tunnels and
Transport Families.
Transport Class RT: A Route Target Extended Community used to Tunnel Route:
identify a specific Transport Class. A Route to Tunnel Destination/Endpoint that is installed at the
headend (ingress) of the tunnel.
transport-target:0:100 : This notation denotes a Transport Class RT Tunnel Domain:
extended community as defined in this document with the "Transport A domain of the network containing SNs and BNs under a single
Class ID" field set to 100. administrative control that has tunnels between them.
Transport Route Database: At the SN and BN, a Transport Class has an Brownfield network:
associated Transport Route Database that collects its Tunnel Routes. An existing network that is already in service, deploying a chosen
set of technologies and hardware. Enhancements and upgrades to
such network deployments protect return on investment and should
consider continuity of service.
Transport Plane: An end-to-end plane consisting of transport tunnels Greenfield network:
belonging to the same Transport Class. A new network deployment that can make choices of new technology
or hardware as needed with fewer constraints than brownfield
network.
Transport Class:
A construct to group transport tunnels offering similar SLAs (see
Section 4.1).
Transport Class RT:
A Route Target extended community used to identify a specific
Transport Class.
transport-target:0:100:
This notation denotes a Transport Class Route Target extended
community as defined in this document with the "Transport Class
ID" field set to 100.
Transport Route Database:
At the SN and BN, a Transport Class has an associated TRDB that
collects its tunnel routes.
Transport Plane:
An end-to-end plane consisting of transport tunnels belonging to
the same Transport Class.
2.3. 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.
3. Architecture Overview 3. Architecture Overview
This section describes the BGP CT architecture with a brief This section describes the BGP CT architecture with a brief
illustration. illustration:
INET [RR21]--------------<<---[RR11] INET [RR21]--------------<<---[RR11]
Service / / | IP1,color:0:100 Service / / | IP1,color:0:100
[PE21] <<--------+ : [SN11] <<-----+ ^ IP2,color:0:200 [PE21] <<--------+ : [SN11] <<-----+ ^ IP2,color:0:200
\ ___ : \ ___ | IP3,100:200 \ ___ : \ ___ | IP3,100:200
\ _( .) : \ _( .) | ^^^^^^^^^^^ \ _( .) : \ _( .) | ^^^^^^^^^^^
+-- ( _) --[BN21]===[BN11]--- ( _)-[PE11] Mapping +-- ( _) --[BN21]===[BN11]--- ( _)-[PE11] Mapping
(.__) : (.__) Community (.__) : (.__) Community
Inter-AS-Link Inter-AS-Link
: :
skipping to change at page 10, line 45 skipping to change at line 494
Intents at SN11 and PE21: Intents at SN11 and PE21:
Scheme1: color:0:100, (TRDB[TC-100], TRDB[TC-BE]) Scheme1: color:0:100, (TRDB[TC-100], TRDB[TC-BE])
Scheme2: color:0:200, (TRDB[TC-200], TRDB[TC-BE]) Scheme2: color:0:200, (TRDB[TC-200], TRDB[TC-BE])
Scheme3: 100:200, (TRDB[TC-100], TRDB[TC-200]) Scheme3: 100:200, (TRDB[TC-100], TRDB[TC-200])
^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^ ^^^^ ^^^^^^
Resolution Schemes Transport Route DB Transport Class Resolution Schemes Transport Route DB Transport Class
Figure 1: BGP CT Overview with Example Topology Figure 1: BGP CT Overview with Example Topology
To achieve end-to-end "Intent Driven Service Mapping", this document To achieve end-to-end "Intent-Driven Service Mapping", this document
defines the following constructs and BGP extensions: defines the following constructs and BGP extensions:
The "Transport Class" (Section 4) construct to group underlay * The "Transport Class" construct (see Section 4) to group underlay
tunnels. tunnels.
The "Resolution Scheme" (Section 5) construct for overlay routes * The "Resolution Scheme" construct (see Section 5) for overlay
with Mapping Community to resolve next hop reachability from routes with Mapping Communities to resolve NH reachability from
either one or an ordered set of Transport Classes. either one or an ordered set of Transport Classes.
The "BGP Classful Transport" (Section 6) address family to extend * The "BGP Classful Transport" (see Section 6) address family to
these constructs to adjacent domains. extend these constructs to adjacent domains.
Figure 1 depicts the intra-AS and inter-AS application of these Figure 1 depicts the intra-AS and inter-AS application of these
constructs. Interactions between SN1 and PE11 describe the Intra-AS constructs. Interactions between SN1 and PE11 describe the Intra-AS
usage. Interactions between PE21 and PE11 describe the Inter-AS usage. Interactions between PE21 and PE11 describe the Inter-AS
usage. usage.
The example topology is an Inter-AS option C (Section 10, [RFC4364]) The example topology is an Inter-AS option C network (Section 10 of
network with two AS domains, each domain contains tunnels serving two [RFC4364]) with two AS domains; each domain contains tunnels serving
Intents, e.g. 'low-latency' denoted by color 100 and 'high-bandwidth' two Intents, e.g., 'low-latency' denoted by color 100 and 'high-
denoted by color 200. AS1 is a RSVP-TE network, AS2 is a SRTE bandwidth' denoted by color 200. AS1 is an RSVP-TE network; AS2 is
network. BGP CT and BGP LU are transport families used between the an SRTE network. BGP CT and BGP LU are transport families used
two AS domains. IP1, IP2, IP3 are service prefixes (AFI/SAFI: 1/1) between the two AS domains. IP1, IP2, and IP3 are service prefixes
behind egress PE11. (AFI/SAFI: 1/1) behind egress PE11.
PE21, SN11 and PE11 are the SNs in this network. SN11 is an ingress PE21, SN11, and PE11 are the SNs in this network. SN11 is an ingress
PE with intra domain reachability to PE11. PE21 is an ingress PE PE with intra-domain reachability to PE11. PE21 is an ingress PE
with inter domain reachability to PE11. with inter-domain reachability to PE11.
The tunneling mechanisms are made "Transport Class" aware. They The tunneling mechanisms are made "Transport Class" aware. They
publish their underlay tunnels for a Transport Class into an publish their underlay tunnels for a Transport Class into an
associated "Transport Route Database" (TRDB) (Section 4.2). In associated TRDB (see Section 4.2). In Figure 1, RSVP-TE publishes
Figure 1, RSVP-TE publishes its underlay tunnels into TRDBs created its underlay tunnels into TRDBs created for Transport Classes 100 and
for Transport Class 100 and 200 at BN11 and SN11 within AS1; 200 at BN11 and SN11 within AS1; Similarly, SR-TE publishes its
Similarly, SR-TE publishes its underlay tunnels into TRDBs created underlay tunnels into TRDBs created for Transport Classes 100 and 200
for Transport Class 100 and 200 at PE21 within AS2. at PE21 within AS2.
Resolution Schemes are used to realize Intent. A Resolution Scheme Resolution Schemes are used to realize Intent. A Resolution Scheme
is identified by its "Mapping Community", and contains an ordered is identified by its "Mapping Community" and contains an ordered list
list of transport classes. Overlay routes carry an indication of the of transport classes. Overlay routes carry an indication of the
desired Intent using a BGP community which assumes the role of desired Intent using a BGP community, which assumes the role of
"Mapping Community". "Mapping Community".
Egress SN "PE11" advertises service routes with desired Mapping Egress SN "PE11" advertises service routes with desired Mapping
Community e.g. color:0:100. Community, e.g., color:0:100.
For the Intra-AS case, SN1 maps this intra-AS route on RSVP-TE For the Intra-AS case, SN1 maps this intra-AS route on RSVP-TE
tunnels with TC ID 100 by using the Resolution Scheme for tunnels with TC ID 100 by using the Resolution Scheme for
color:0:100. color:0:100.
For the Inter-AS case, the underlay route in a TRDB is advertised in For the Inter-AS case, the underlay route in a TRDB is advertised in
BGP to extend an underlay tunnel to adjacent domains. A new BGP BGP to extend an underlay tunnel to adjacent domains. A new BGP
transport family called "BGP Classful Transport", also known as BGP transport family called "BGP Classful Transport", also known as BGP
CT (AFI/SAFIs 1/76, 2/76) is defined for this purpose. BGP CT makes CT (AFI/SAFIs 1/76, 2/76), is defined for this purpose. BGP CT makes
it possible to advertise multiple tunnels to the same destination it possible to advertise multiple tunnels to the same destination
address, thus avoiding the need for multiple loopbacks on the Egress address, thus avoiding the need for multiple loopbacks on the eSN.
Service Node (eSN).
The BGP CT address family carries transport prefixes across tunnel The BGP CT address family carries transport prefixes across tunnel
domain boundaries. Its design and operation are analogous to BGP LU domain boundaries. Its design and operation are analogous to BGP LU
(AFI/SAFIs 1/4 or 2/4). It disseminates "Transport Class" (AFI/SAFIs 1/4 or 2/4). It disseminates "Transport Class"
information for the transport prefixes across the participating information for the transport prefixes across the participating
domains while avoiding the need of per-transport class loopback. domains while avoiding the need of per-transport class loopback.
This is not possible with BGP LU without using per-color loopback. This is not possible with BGP LU without using per-color loopback.
This dissemination makes the end-to-end network a "Transport Class" This dissemination makes the end-to-end network a "Transport Class"
aware tunneled network. aware tunneled network.
In Figure 1, BGP CT routes are originated at BN11 in AS1 with next In Figure 1, BGP CT routes are originated at BN11 in AS1 with NH
hop "self" towards BN21 in AS2 to extend available RSVP-TE tunnels "self" towards BN21 in AS2 to extend available RSVP-TE tunnels for
for Transport Class 100 and 200 in AS1. BN21 propagates these routes Transport Classes 100 and 200 in AS1. BN21 propagates these routes
with next hop "self" to PE21, which resolves the BGP CT routes over with NH "self" to PE21, which resolves the BGP CT routes over SRTE
SRTE tunnels belonging to same transport class. Thus forming a BGP tunnels belonging to same transport class, thus forming a BGP CT
CT tunnel for each TC ID at PE21. tunnel for each TC ID at PE21.
PE21 maps the Inter-AS service routes received with color:0:100 from PE21 maps the Inter-AS service routes received with color:0:100 from
AS1 on BGP CT tunnel with TC ID 100 by using the Resolution Scheme AS1 on BGP CT tunnel with TC ID 100 by using the Resolution Scheme
for color:0:100. Note that this procedure is same as that followed for color:0:100. Note that this procedure is same as that followed
by SN1 in the Intra-AS case. by SN1 in the Intra-AS case.
The following text illustrates how CT architecture provides tiered The following text illustrates how CT architecture provides tiered
fallback options at a per-route granularity. Figure 1, shows the fallback options at a per-route granularity. Figure 1 shows the
Resolution Schemes in use, which make the following next hop Resolution Schemes in use, which make the following NH resolution
resolution happen at SN11 (Intra-AS) and PE21 (Inter-AS) for the happen at SN11 (Intra-AS) and PE21 (Inter-AS) for the service routes
service routes of prefixes IP1, IP2, IP3: of prefixes IP1, IP2, and IP3:
Resolve IP1 next hop over available tunnels in TRDB for Transport * Resolve IP1 NH over available tunnels in TRDB for Transport Class
Class 100 with fallback to TRDB for best effort. 100 with fallback to TRDB for best effort.
Resolve IP2 next hop over available tunnels in TRDB for Transport * Resolve IP2 NH over available tunnels in TRDB for Transport Class
Class 200 with fallback to TRDB for best effort. 200 with fallback to TRDB for best effort.
Resolve IP3 next hop over available tunnels in TRDB for Transport * Resolve IP3 NH over available tunnels in TRDB for Transport Class
Class 100 with fallback to TRDB for Transport Class 200. 100 with fallback to TRDB for Transport Class 200.
In Figure 1, SN11 resolves IP1, IP2 and IP3 directly over RSVP-TE In Figure 1, SN11 resolves IP1, IP2, and IP3 directly over RSVP-TE
tunnels in AS1. PE21 resolves IP1, IP2 and IP3 over extended BGP CT tunnels in AS1. PE21 resolves IP1, IP2, and IP3 over extended BGP CT
tunnels that resolve over SR-TE tunnels in AS2. tunnels that resolve over SR-TE tunnels in AS2.
This document describes procedures using MPLS forwarding This document describes procedures using MPLS forwarding
architecture. However, these procedures would work in a similar architecture. However, these procedures would work in a similar
manner for non-MPLS forwarding architectures as well. Section 7.13 manner for non-MPLS forwarding architectures as well. Section 7.13
describes the application of BGP CT over SRv6 data plane. describes the application of BGP CT over the SRv6 data plane.
4. Transport Class 4. Transport Class
Transport Class is a construct that groups transport tunnels offering Transport Class is a construct that groups transport tunnels offering
similar SLA within the administrative domain of a provider network or similar SLAs within the administrative domain of a provider network
closely coordinated provider networks. or closely coordinated provider networks.
A Transport Class is uniquely identified by a 32-bit "Transport Class A Transport Class is uniquely identified by a 32-bit "Transport Class
ID", that is assigned by the operator. The operator consistently ID" that is assigned by the operator. The operator consistently
provisions a Transport Class on participating nodes (SNs and BNs) in provisions a Transport Class on participating nodes (SNs and BNs) in
a domain with its unique Transport Class ID. a domain with its unique Transport Class ID.
A Transport Class is also configured with RD and import/export RT A Transport Class is also configured with RD and import/export RT
attributes. Creation of a Transport Class instantiates its attributes. Creation of a Transport Class instantiates its
corresponding TRDB and Resolution Schemes on that node. corresponding TRDB and Resolution Schemes on that node.
All nodes within a domain agree on a common Transport Class ID All nodes within a domain agree on a common Transport Class ID
namespace. However, two co-operating domains may not always agree on namespace. However, two cooperating domains may not always agree on
the same namespace. Procedures to manage differences in Transport the same namespace. Procedures to manage differences in Transport
Class ID namespaces between co-operating domains are specified in Class ID namespaces between cooperating domains are specified in
Section 11.2.2. Section 11.2.2.
Transport Class ID conveys the Color of tunnels in a Transport Class. Transport Class ID conveys the Color of tunnels in a Transport Class.
The terms 'Transport Class ID' and 'Color' are used interchangeably The terms "Transport Class ID" and "Color" are used interchangeably
in this document. in this document.
4.1. Classifying TE tunnels 4.1. Classifying TE Tunnels
TE tunnels can be classified into a Transport Class based on the TE TE tunnels can be classified into a Transport Class based on the TE
attributes they possess and the TE characteristics that the operator attributes they possess and the TE characteristics that the operator
defines for that Transport Class. Due to the fact that multiple TE defines for that Transport Class. Due to the fact that multiple TE
tunneling protocols exist, their TE attributes and characteristics tunneling protocols exist, their TE attributes and characteristics
may not be equal but sufficiently similar. Some examples of such may not be equal but sufficiently similar. Some examples of such
classifications are as follows: classifications are as follows:
Tunnels (RSVP-TE, IGP FLEX-ALGO, SR-TE) that support latency * Tunnels (RSVP-TE, IGP FLEX-ALGO, SR-TE) that support latency
sensitive routing. sensitive routing.
RSVP-TE Tunnels that only go over admin-group with Green links. * RSVP-TE tunnels that only go over admin-group with Green links.
Tunnels (RSVP-TE, SR-TE) that offer Fast Reroute. * Tunnels (RSVP-TE, SR-TE) that offer FRR.
Tunnels (RSVP-TE, SR-TE) that share resources in the network based * Tunnels (RSVP-TE, SR-TE) that share resources in the network based
on Shared Risk Link Groups defined by TE policy. on Shared Risk Link Groups defined by TE policy.
Tunnels (RSVP-TE, SR-TE, BGP CT) that avoid certain nodes in the * Tunnels (RSVP-TE, SR-TE, BGP CT) that avoid certain nodes in the
network based on RSVP-TE ERO, SR-TE policy or BGP policy. network based on RSVP-TE Explicit Route Object (ERO), SR-TE
policy, or BGP policy.
An operator may configure a SN/BN to classify a tunnel into an An operator may configure an SN/BN to classify a tunnel into an
appropriate Transport Class. How exactly these tunnels are made appropriate Transport Class. How exactly these tunnels are made
Transport Class aware is implementation specific and outside the Transport Class aware is implementation specific and outside the
scope of this document. scope of this document.
When a tunnel is made Transport Class aware, it causes the Tunnel When a tunnel is made Transport Class aware, it causes the Tunnel
Route to be installed in the corresponding TRDB of that Transport Route to be installed in the corresponding TRDB of that Transport
Class. These routes are used to resolve overlay routes, including Class. These routes are used to resolve overlay routes, including
BGP CT. The BGP CT routes may be further readvertised to adjacent BGP CT. The BGP CT routes may be further readvertised to adjacent
domains to extend these tunnels. While readvertising BGP CT routes, domains to extend these tunnels. While readvertising BGP CT routes,
the "Transport Class" identifier is encoded as part of the Transport the "Transport Class" identifier is encoded as part of the Transport
Class RT, which is a new Route Target extended community defined in Class RT, which is a new Route Target extended community defined in
Section 4.3. Section 4.3.
A SN/BN receiving the transport routes via BGP with sufficient An SN/BN receiving the transport routes via BGP with sufficient
signaling information to identify a Transport Class can associate signaling information to identify a Transport Class can associate
those tunnel routes to the corresponding Transport Class. For those tunnel routes with the corresponding Transport Class. For
example, in BGP CT family routes, the Transport Class RT indicates example, in BGP CT family routes, the Transport Class RT indicates
the Transport Class. For BGP LU family routes, import processing the Transport Class. For BGP LU family routes, import processing
based on Communities or Inter-AS source-peer may be used to place the based on communities or Inter-AS source-peer may be used to place the
route in the desired Transport Class. route in the desired Transport Class.
When the tunnel route is received via [SRTE] with "Color:Endpoint" as When the tunnel route is received via [RFC9830] with "Color:Endpoint"
the NLRI that encodes the Transport Class as an integer 'Color' in as the NLRI that encodes the Transport Class as an integer 'Color' in
its Policy Color field, the 'Color' is mapped to a Transport Class its Policy Color field, the 'Color' is mapped to a Transport Class
during the import processing. The SRTE tunnel route for this during the import processing. The SRTE tunnel route for this
'Endpoint' is installed in the corresponding TRDB. The SRTE tunnel 'Endpoint' is installed in the corresponding TRDB. The SRTE tunnel
will be extended by a BGP CT advertisement with NLRI 'RD:Endpoint', will be extended by a BGP CT advertisement with NLRI 'RD:Endpoint',
Transport Class RT and a new label. The MPLS swap route thus Transport Class RT, and a new label. The MPLS swap route thus
installed for the new label will pop the label and forward the installed for the new label will pop the label and forward the
decapsulated traffic into the path determined by the SRTE route for decapsulated traffic into the path determined by the SRTE route for
further encapsulation. further encapsulation.
[PCEP-SRPOLICY] extends Path Computation Element Communication [PCEP-SRPOLICY] extends the Path Computation Element Communication
Protocol (PCEP) to signal attributes of an SR Policy which include Protocol (PCEP) to signal attributes of an SR Policy that include
Color. This Color is mapped to a Transport Class thus associating Color. This Color is mapped to a Transport Class thus associating
the SR Policy with the desired Transport Class. the SR Policy with the desired Transport Class.
Similarly, [PCEP-RSVP-COLOR] extends PCEP to carry the Color Similarly, [PCEP-RSVP-COLOR] extends PCEP to carry the Color
attribute for its use with RSVP-TE LSPs . This Color is mapped to a attribute for its use with RSVP-TE LSPs. This Color is mapped to a
Transport Class thus associating the RSVP-TE LSP with the desired Transport Class thus associating the RSVP-TE LSP with the desired
Transport Class. Transport Class.
4.2. Transport Route Database 4.2. Transport Route Database (TRDB)
A Transport Route Database (TRDB) is a logical collection of A TRDB is a logical collection of transport routes pertaining to the
transport routes pertaining to the same Transport Class. In any same Transport Class. In any node, every Transport Class has an
node, every Transport Class has an associated TRDB. Resolution associated TRDB. Resolution Schemes resolve NH reachability for EP
Schemes resolve next hop reachability for EP using the transport using the transport routes within the scope of the TRDBs.
routes within the scope of the TRDBs.
Tunnel endpoint addresses (EP) in a TRDB belong to the "Provider Tunnel EP addresses in a TRDB belong to the provider namespace
Namespace" representing the core transport region. representing the core transport region.
An implementation may realize the TRDB as a "Routing Table" referred An implementation may realize the TRDB as a "Routing Table" referred
in Section 9.1.2.1 of RFC4271 (https://www.rfc-editor.org/rfc/ to in Section 9.1.2.1 of [RFC4271], which is used only for resolving
rfc4271#section-9.1.2.1) which is used only for resolving next hop NH reachability in the control plane. An implementation may choose a
reachability in control plane. An implementation may choose a
different datastructure to realize this logical construct while still different datastructure to realize this logical construct while still
adhering to the procedures defined in this document. The tunnel adhering to the procedures defined in this document. The tunnel
routes in a TRDB require no footprint in the forwarding plane unless routes in a TRDB require no footprint in the forwarding plane unless
they are used to resolve a next hop. they are used to resolve an NH.
SNs or BNs originate routes for the "Classful Transport" address SNs or BNs originate routes for the "Classful Transport" address
family from the TRDB. These routes have "RD:Endpoint" in the NLRI, family from the TRDB. These routes have "RD:Endpoint" in the NLRI,
carry a Transport Class RT, and an MPLS label or equivalent carry a Transport Class RT, and an MPLS label or equivalent
identifier in different forwarding architecture. "Classful identifier in different forwarding architecture. "Classful
Transport" family routes received with Transport Class RT are Transport" family routes received with Transport Class RT are
installed into their respective TRDB. installed into their respective TRDB.
4.3. "Transport Class" Route Target Extended Community 4.3. "Transport Class" Route Target Extended Community
This section defines a new type of Route Target, called a "Transport This section defines a new type of Route Target called a "Transport
Class" Route Target Extended Community; also known as a Transport Class" Route Target extended community (also known as a "Transport
Target. The procedures for use of this extended community with BGP Target"). The procedures for use of this extended community with BGP
CT routes (AFI/SAFI: 1/76 or 2/76) are described below. CT routes (AFI/SAFI: 1/76 or 2/76) are described below.
The "Transport Class" Route Target Extended Community is a transitive The "Transport Class" Route Target extended community is a transitive
extended community EXT-COMM [RFC4360] of extended type, which has the extended community [RFC4360] of extended type, which has the format
format as shown in Figure 2. as shown in Figure 2.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type= 0xa | SubType= 0x02 | Reserved | | Type= 0xa | SubType= 0x02 | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Transport Class ID | | Transport Class ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type: 1-octet field MUST be set to 0xa to indicate 'Transport Class'. Figure 2: "Transport Class" Route Target Extended Community
SubType: 1-octet field MUST be set to 0x2 to indicate 'Route Target'. Type: A 1-octet field that MUST be set to 0xa to indicate 'Transport
Class'.
Reserved: 2-octet reserved bits field. SubType: A 1-octet field that MUST be set to 0x2 to indicate 'Route
This field MUST be set to zero on transmission. Target'.
This field SHOULD be ignored on reception, and
MUST be left unaltered.
Transport Class ID: This field is encoded in 4 octets. Reserved: A 2-octet reserved bits field.
This field contains the "Transport Class" identifier, This field MUST be set to zero on transmission.
which is an unsigned 32-bit integer.
This document reserves the Transport class ID value 0 to This field SHOULD be ignored on reception and MUST be left
represent "Best Effort Transport Class ID". unaltered.
Figure 2: "Transport Class" Route Target Extended Community Transport Class ID: This field is encoded in 4 octets.
A Transport Class Route Target Extended community with TC ID 100 is This field contains the "Transport Class" identifier, which is an
unsigned 32-bit integer.
This document reserves the Transport class ID value 0 to represent
the "Best-Effort Transport Class ID".
A "Transport Class" Route Target extended community with TC ID 100 is
denoted as "transport-target:0:100". denoted as "transport-target:0:100".
The VPN route import/export mechanisms specified in BGP/MPLS IP VPNs The VPN route import/export mechanisms specified in BGP/MPLS IP VPNs
[RFC4364] and the Constrained Route Distribution mechanisms specified (see [RFC4364]) and the Constrained Route Distribution mechanisms
in Route Target Constrain [RFC4684] are applied using the Route specified in Route Target Constrain (see [RFC4684]) are applied using
Target extended community. These mechanisms are applied to BGP CT the Route Target extended community. These mechanisms are applied to
routes (AFI/SAFI: 1/76 or 2/76) using "Transport Class Route Target BGP CT routes (AFI/SAFI: 1/76 or 2/76) using the "Transport Class
Extended community". Route Target extended community".
A BGP speaker that implements procedures described in this document A BGP speaker that implements procedures described in this document
and Route Target Constrain [RFC4684] MUST also apply the RTC and [RFC4684] MUST also apply the RTC procedures to the Transport
procedures to the Transport Class Route Target Extended communities Class Route Target extended communities carried on BGP CT routes
carried on BGP CT routes (AFI/SAFI: 1/76 or 2/76). An RTC route is (AFI/SAFI: 1/76 or 2/76). An RTC route is generated for each Route
generated for each Route Target imported by locally provisioned Target imported by locally provisioned Transport Classes.
Transport Classes.
Further, when processing RT membership NLRIs containing Transport Further, when processing RT membership NLRIs containing a Transport
Class Route Target Extended community received from external BGP Class Route Target extended community received from external BGP
peers, it is necessary to consider multiple EBGP paths for a given peers, it is necessary to consider multiple External BGP (EBGP) paths
RTC prefix for building the outbound route filter, and not just the for a given RTC prefix for building the outbound route filter: not
best path. An implementation MAY provide configuration to control just the best path. An implementation MAY provide configuration to
how many EBGP RTC paths are considered. control how many EBGP RTC paths are considered.
The Transport Class Route Target Extended community is carried on BGP The Transport Class Route Target extended community is carried on BGP
CT family routes and is used to associate them with appropriate TRDBs CT family routes and is used to associate them with appropriate TRDBs
at receiving BGP speakers. The Transport Target is carried unaltered at receiving BGP speakers. The Transport Target is carried unaltered
on the BGP CT route across BGP CT negotiated sessions except for on the BGP CT route across BGP CT negotiated sessions except for
scenarios described in Section 11.2.2. Implementations should scenarios described in Section 11.2.2. Implementations should
provide policy mechanisms to perform match, strip, or rewrite provide policy mechanisms to perform match, strip, or rewrite
operations on a Transport Target just like any other BGP community. operations on a Transport Target just like any other BGP community.
Defining a new type code for the Transport Class Route Target Defining a new type code for the Transport Class Route Target
Extended community avoids conflicting with any VPN Route Target extended community avoids conflicting with any VPN Route Target
assignments already in use for service families. assignments already in use for service families.
This document also reserves the Non-Transitive version of Transport This document also reserves the Non-Transitive version of the
Class extended community (Section 13.2.1.1.2) for future use. The Transport Class extended community (see Section 13.2.1.1.2) for
"Non-Transitive Transport Class" Route Target Extended Community is future use. The "Non-Transitive Transport Class" Route Target
not used. If received, it is considered equivalent in functionality extended community is not used. If received, it is considered
to the Transitive Transport Class Route Target Extended Community, equivalent in functionality to the Transitive Transport Class Route
except for the difference in Transitive bit flag. Target extended community, except for the difference in Transitive
bit flag.
5. Resolution Scheme 5. Resolution Scheme
A Resolution Scheme is a construct that consists of a specific TRDB A Resolution Scheme is a construct that consists of a specific TRDB
or an ordered set of TRDBs. An overlay route is associated with a or an ordered set of TRDBs. An overlay route is associated with a
resolution scheme during import processing, based on the Mapping resolution scheme during import processing based on the Mapping
Community in the route. Community in the route.
Resolution Schemes enable a BGP speaker to resolve next hop Resolution Schemes enable a BGP speaker to resolve NH reachability
reachability for overlay routes over the appropriate underlay tunnels for overlay routes over the appropriate underlay tunnels within the
within the scope of the TRDBs. Longest Prefix Match (LPM) of the scope of the TRDBs. Longest Prefix Match (LPM) of the NH is
next hop is performed within the identified TRDB. performed within the identified TRDB.
An implementation may provide an option for the overlay route to An implementation may provide an option for the overlay route to
resolve over less preferred Transport Classes, should the resolution resolve over less-preferred Transport Classes, should the resolution
over a primary Transport Class fail. over a primary Transport Class fail.
To accomplish this, the "Resolution Scheme" is configured with the To accomplish this, the "Resolution Scheme" is configured with the
primary Transport Class, and an ordered list of fallback Transport primary Transport Class and an ordered list of fallback Transport
Classes. Two Resolution Schemes are considered equivalent in Intent Classes. Two Resolution Schemes are considered equivalent in Intent
if they consist of the same ordered set of TRDBs. if they consist of the same ordered set of TRDBs.
Operators must ensure that Resolution Schemes for a mapping community Operators must ensure that Resolution Schemes for a mapping community
are provisioned consistently on various nodes participating in a BGP are provisioned consistently on various nodes participating in a BGP
CT network, based on desired Intent and transport classes available CT network based on desired Intent and transport classes available in
in that domain. that domain.
5.1. Mapping Community 5.1. Mapping Community
A "Mapping Community" is used to signal the desired Intent on an A "Mapping Community" is used to signal the desired Intent on an
overlay route. At an ingress node receiving the route, it maps the overlay route. At an ingress node receiving the route, it maps the
overlay route to a "Resolution Scheme" used to resolve the route's overlay route to a "Resolution Scheme" used to resolve the route's
next hop. NH.
A Mapping Community is a "role" and not a new type of community; any A Mapping Community is a "role" and not a new type of community; any
BGP Community Carrying Attribute (e.g. Community or Extended BGP Community Carrying Attribute (e.g., Community or Extended
Community) may play this role, besides the other roles it may already Community) may play this role in addition to the other roles it may
be playing. For example, the Transport Class Route Target Extended already be playing. For example, the Transport Class Route Target
Community plays a dual role, being a Route Target as well as a extended community plays a dual role: as Route Target and a Mapping
Mapping Community. Community.
Operator provisioning ensures that the ingress and egress SNs agree Operator provisioning ensures that the ingress and egress SNs agree
on the BGP CCA and community namespace to use for the Mapping on the BGP CCA and community namespace to use for the Mapping
Community. Community.
A Mapping Community maps to exactly one Resolution Scheme at A Mapping Community maps to exactly one Resolution Scheme at a
receiving BGP speaker. An implementation SHOULD allow associating receiving BGP speaker. An implementation SHOULD allow the
multiple Mapping Communities to a Resolution Scheme. This helps with association of multiple Mapping Communities to a Resolution Scheme.
renumbering and migration scenarios. This helps with renumbering and migration scenarios.
An example of mapping community is "color:0:100", described in An example of a mapping community is "color:0:100", described in
[RFC9012], or the "transport-target:0:100" described in Section 4.3 [RFC9012], or the "transport-target:0:100" described in Section 4.3.
in this document.
The first community on the overlay route that matches a Mapping The first community on the overlay route that matches a Mapping
Community of a locally configured Resolution Scheme is considered the Community of a locally configured Resolution Scheme is considered the
effective Mapping Community for the route. The Resolution Scheme effective Mapping Community for the route. The Resolution Scheme
thus found is used when resolving the route's PNH. If a route thus found is used when resolving the route's PNH. If a route
contains more than one Mapping Community, it indicates that the route contains more than one Mapping Community, it indicates that the route
considers these distinct Mapping Communities as equivalent in Intent. considers these distinct Mapping Communities as equivalent in Intent.
If more than one distinct Mapping Communities on an overlay route map If more than one distinct Mapping Community on an overlay route map
to distinct Resolution Schemes with dissimilar Intents at a receiving to distinct Resolution Schemes with dissimilar Intents at a receiving
node, it is considered a configuration error. node, it is considered a configuration error.
Since a route can carry multiple communities, but only a single Since a route can carry multiple communities, but only a single
Resolution Scheme can be in effect for the route on any given router, Resolution Scheme can be in effect for the route on any given router,
it is incumbent on the operator to ensure that communities attached it is incumbent on the operator to ensure that communities attached
to a route will map to the desired Resolution Scheme at each point in to a route will map to the desired Resolution Scheme at each point in
the network. the network.
It should be noted that the Mapping Community role does not require It should be noted that the Mapping Community role does not require
applying Route Target Constrain procedures specified in RFC 4684. applying Route Target Constrain procedures specified in [RFC4684].
6. BGP Classful Transport Family 6. BGP Classful Transport Family
The BGP Classful Transport (BGP CT) family uses the existing Address The BGP Classful Transport (BGP CT) family uses the existing Address
Family Identifier (AFI) of IPv4 or IPv6 and a new SAFI 76 "Classful Family Identifier (AFI) of IPv4 or IPv6 and a new SAFI 76 "Classful
Transport" that applies to both IPv4 and IPv6 AFIs. Transport" that applies to both IPv4 and IPv6 AFIs.
The AFI/SAFI 1/76 MUST be negotiated as per the Multiprotocol The AFI/SAFI 1/76 MUST be negotiated as per the Multiprotocol
Extensions capability described in Section 8 of [RFC4760] to be able Extensions capability described in Section 8 of [RFC4760] to be able
to send and receive BGP CT routes for IPv4 endpoint prefixes. to send and receive BGP CT routes for IPv4 endpoint prefixes.
The AFI/SAFI 2/76 MUST be negotiated as per the Multiprotocol The AFI/SAFI 2/76 MUST be negotiated as per the Multiprotocol
Extensions capability described in Section 8 of [RFC4760] to be able Extensions capability described in Section 8 of [RFC4760] to be able
to send and receive BGP CT routes for IPv6 endpoint prefixes. to send and receive BGP CT routes for IPv6 endpoint prefixes.
6.1. NLRI Encoding 6.1. NLRI Encoding
The "Classful Transport" SAFI NLRI has the same encoding as specified The "Classful Transport" SAFI NLRI has the same encoding as specified
in Section 2 of [RFC8277]. in Section 2 of [RFC8277].
When AFI/SAFI is 1/76, the Classful Transport NLRI Prefix consists of When the AFI/SAFI is 1/76, the Classful Transport NLRI Prefix
an 8-byte RD followed by an IPv4 prefix. When AFI/SAFI is 2/76, the consists of an 8-byte RD followed by an IPv4 prefix. When AFI/SAFI
Classful Transport NLRI Prefix consists of an 8-byte RD followed by is 2/76, the Classful Transport NLRI Prefix consists of an 8-byte RD
an IPv6 prefix. followed by an IPv6 prefix.
The procedures described for AFI/SAFIs 1/4 or 1/128 in Section 2 of The procedures described for AFI/SAFIs 1/4 or 1/128 in Section 2 of
[RFC8277] apply for AFI/SAFI 1/76 also. The procedures described for [RFC8277] apply for AFI/SAFI 1/76 also. The procedures described for
AFI/SAFIs 2/4 or 2/128 in Section 2 of [RFC8277] apply for AFI/SAFI AFI/SAFIs 2/4 or 2/128 in Section 2 of [RFC8277] apply for AFI/SAFI
2/76 also. 2/76 also.
BGP CT routes MAY carry multiple labels in the NLRI, by negotiating BGP CT routes MAY carry multiple labels in the NLRI by negotiating
the Multiple Labels Capability as described in Section 2.1 of the Multiple Labels Capability as described in Section 2.1 of
[RFC8277] [RFC8277].
Properties received on a Classful Transport route include the Properties received on a Classful Transport route include the
Transport Class Route Target extended community, which is used to Transport Class Route Target extended community, which is used to
associate the route with the correct TRDBs on SNs and BNs in the associate the route with the correct TRDBs on SNs and BNs in the
network, and either an IPv4 or an IPv6 next hop. network, and either an IPv4 or an IPv6 NH.
6.2. Next Hop Encoding 6.2. Next Hop Encoding
When the length of the Next hop Address field is 4, the next hop When the length of the Next hop Address field is 4, the next hop
address is of type IPv4 address. address is an IPv4 address.
When the length of Next hop Address field is 16 (or 32), the next hop When the length of the Next hop Address field is 16 (or 32), the next
address is of type IPv6 address (potentially followed by the link- hop address is an IPv6 address (potentially followed by the link-
local IPv6 address of the next hop). This follows Section 3 in local IPv6 address of the next hop). This follows Section 3 of
[RFC2545] [RFC2545].
When the length of Next hop Address field is 24 (or 48), the next hop When the length of Next hop Address field is 24 (or 48), the next hop
address is of type VPN-IPv6 with an 8-octet RD set to zero address is a VPN-IPv6 with an 8-octet RD set to zero (potentially
(potentially followed by the link-local VPN-IPv6 address of the next followed by the link-local VPN-IPv6 address of the next hop with an
hop with an 8-octet RD set to zero). This follows Section 3.2.1.1 in 8-octet RD set to zero). This follows Section 3.2.1.1 of [RFC4659].
[RFC4659]
When the length of the Next hop Address field is 12, the next hop When the length of the Next hop Address field is 12, the next hop
address is of type VPN-IPv4 with 8-octet RD set to zero. address is a VPN-IPv4 with 8-octet RD set to zero.
If the length of the Next hop Address field contains any other If the length of the Next hop Address field contains any other
values, it is considered an error and is handled via BGP session values, it is considered an error and is handled via BGP session
reset as per Section 7.11 of [RFC7606]. reset as per Section 7.11 of [RFC7606].
6.3. Carrying multiple Encapsulation Information 6.3. Carrying Multiple Encapsulation Information
To ease interoperability between nodes supporting different To ease interoperability between nodes supporting different
forwarding technologies, a BGP CT route allows carrying multiple forwarding technologies, a BGP CT route allows carrying multiple
encapsulation information. encapsulation information.
An MPLS Label is carried using the encoding in [RFC8277]. A node An MPLS Label is carried using the encoding in [RFC8277]. A node
that does not support MPLS forwarding advertises the special label 3 that does not support MPLS forwarding advertises the special label 3
(Implicit NULL) in the RFC 8277 MPLS Label field. The Implicit NULL (Implicit NULL) in the MPLS Label field (see [RFC8277]). The
label carried in BGP CT route indicates to receiving node that it Implicit NULL label carried in BGP CT route indicates to a receiving
should not impose any BGP CT label for this route. node that it should not impose any BGP CT label for this route.
The SID information for SR with respect to MPLS Data Plane is carried The SID information for SR with respect to the MPLS data plane is
as specified in Prefix SID attribute defined as part of Section 3 in carried as specified in the Prefix SID attribute defined as part of
[RFC8669]. Section 3 of [RFC8669].
The SID information for SR with respect to SRv6 Data Plane is carried The SID information for SR with respect to SRv6 data plane is carried
as specified in Section 7.13. as specified in Section 7.13.
UDP tunneling information is carried using Tunnel Encapsulation UDP tunneling information is carried using the Tunnel Encapsulation
Attribute as specified in [RFC9012]. Attribute as specified in [RFC9012].
6.4. Comparison with Other Families using RFC-8277 Encoding 6.4. Comparison with Other Families Using Encoding from RFC 8277
AFI/SAFI 1/128 (MPLS-labeled VPN address) is an RFC8277 encoded AFI/SAFI 1/128 (MPLS-labeled VPN address) is a family encoded using
family that carries service prefixes in the NLRI, where the prefixes [RFC8277] that carries service prefixes in the NLRI, where the
come from the customer namespaces and are contextualized into prefixes come from the customer namespaces and are contextualized
separate user virtual service RIBs called VRFs as per [RFC4364]. into separate user virtual service RIBs called VRFs as per [RFC4364].
AFI/SAFI 1/4 (BGP LU) is an RFC8277 encoded family that carries AFI/SAFI 1/4 (BGP LU) is a family encoded using [RFC8277] that
transport prefixes in the NLRI, where the prefixes come from the carries transport prefixes in the NLRI, where the prefixes come from
provider namespace. the provider namespace.
AFI/SAFI 1/76 (Classful Transport SAFI) is an RFC8277 encoded family AFI/SAFI 1/76 (Classful Transport SAFI) is a family encoded using
that carries transport prefixes in the NLRI, where the prefixes come [RFC8277] that carries transport prefixes in the NLRI, where the
from the provider namespace and are contextualized into separate prefixes come from the provider namespace and are contextualized into
TRDB, following mechanisms similar to RFC 4364 procedures. separate TRDB, following mechanisms similar to [RFC4364] procedures.
It is worth noting that AFI/SAFI 1/128 has been used to carry It is worth noting that AFI/SAFI 1/128 has been used to carry
transport prefixes in "L3VPN Inter-AS Carrier's carrier" scenario as transport prefixes in "L3VPN Inter-AS Carrier's carrier" scenario as
defined in Section 10 of [RFC4364], where BGP LU/LDP prefixes in CsC defined in Section 10 of [RFC4364], where BGP LU/LDP prefixes in CsC
VRF are advertised in AFI/SAFI 1/128 towards the remote-end client VRF are advertised in AFI/SAFI 1/128 towards the remote-end client
carrier. carrier.
In this document, SAFI 76 (BGP CT) is used instead of reusing SAFI In this document, SAFI 76 (BGP CT) is used instead of reusing SAFI
128 (L3VPN) for AFIs 1 or 2 to carry these transport routes because 128 (L3VPN) for AFIs 1 or 2 to carry these transport routes because
it is operationally advantageous to segregate transport and service it is operationally advantageous to segregate transport and service
prefixes into separate address families. For example, such an prefixes into separate address families. For example, such an
approach allows operators to safely enable "per-prefix" label approach allows operators to safely enable a "per-prefix" label-
allocation scheme for Classful Transport prefixes, typically with a allocation scheme for Classful Transport prefixes, typically with a
number of routes in the hundreds of thousands or less, without number of routes in the hundreds of thousands or less, without
affecting SAFI 128 service prefixes which may represent millions of affecting SAFI 128 service prefixes, which may represent millions of
routes, at time of writing. The "per prefix" label allocation scheme routes at the time of writing. The "per-prefix" label-allocation
localizes routing churn during topology changes. scheme localizes routing churn during topology changes.
Service routes continue to be carried in their existing AFI/SAFIs Service routes continue to be carried in their existing AFI/SAFIs
without any change. For example, L3VPN (AFI/SAFI: 1/128 and 2/128), without any change. For example, L3VPN (AFI/SAFI: 1/128 and 2/128),
EVPN (AFI/SAFI: 25/70 ), VPLS (AFI/SAFI: 25/65), Internet (AFI/SAFI: EVPN (AFI/SAFI: 25/70 ), Virtual Private LAN Service (VPLS) (AFI/
1/1 or 2/1). These service routes can resolve over BGP CT (AFI/SAFI: SAFI: 25/65), or Internet (AFI/SAFI: 1/1 or 2/1). These service
1/76 or 2/76) transport routes. routes can resolve over BGP CT (AFI/SAFI: 1/76 or 2/76) transport
routes.
A new SAFI 76 for AFI 1 and AFI 2 also facilitates having a different A new SAFI 76 for AFI 1 and AFI 2 also facilitates having a different
distribution path of the transport family routes in a network than distribution path of the transport family routes in a network than
the service route distribution path. Service routes (Inet-VPN SAFI the service route distribution path. Service routes (Inet-VPN SAFI
128) are exchanged over an EBGP multihop session between ASes with 128) are exchanged over an EBGP multihop session between ASes with
next hop unchanged; whereas Classful Transport routes (SAFI 76) are the NH unchanged; whereas Classful Transport routes (SAFI 76) are
advertised over EBGP single-hop sessions with "next hop self" rewrite advertised over EBGP single-hop sessions with a "NH self" rewrite
over inter-AS links. over inter-AS links.
The BGP CT SAFI 76 for AFI 1 and 2 is conceptually similar to BGP LU The BGP CT SAFI 76 for AFI 1 and 2 is conceptually similar to BGP LU
SAFI 4, in that it carries transport prefixes. The only difference SAFI 4 in that it carries transport prefixes. The only difference is
is that it also carries in a Route Target an indication of which that it also carries in a Route Target an indication of which
Transport Class the transport prefix belongs to, and uses the RD to Transport Class the transport prefix belongs to and uses the RD to
disambiguate multiple instances of the same transport prefix in a BGP disambiguate multiple instances of the same transport prefix in a BGP
Update. UPDATE message.
7. Protocol Procedures 7. Protocol Procedures
This section summarizes the procedures followed by various nodes This section summarizes the procedures followed by various nodes
speaking Classful Transport family. speaking Classful Transport family.
7.1. Preparing the network to deploy Classful Transport planes 7.1. Preparing the Network to Deploy Classful Transport Planes
It is responsibility of the operators to decide the Transport It is the responsibility of the operators to decide the Transport
Classes to enable and use in their network. They are also Classes to enable and use in their network. They are also expected
expected to allocate a Transport Class Route Target to identify to allocate a Transport Class Route Target to identify each Transport
each Transport Class. Class.
Operators configure the Transport Classes on the SNs and BNs in Operators configure the Transport Classes on the SNs and BNs in the
the network with Transport Class Route Targets and appropriate network with Transport Class Route Targets and appropriate Route
Route-Distinguishers. Distinguishers.
Implementations MAY provide automatic generation and assignment of Implementations MAY provide automatic generation and assignment of
RD, RT values. They MAY also provide a way to manually override RD, RT values. They MAY also provide a way to manually override the
the automatic mechanism in order to deal with any conflicts that automatic mechanism in order to deal with any conflicts that may
may arise with existing RD, RT values in different network domains arise with existing RD, RT values in different network domains
participating in the deployment. participating in the deployment.
7.2. Originating Classful Transport Routes 7.2. Originating Classful Transport Routes
BGP CT routes are sent only to BGP peers that have negotiated the BGP CT routes are sent only to BGP peers that have negotiated the
Multiprotocol Extensions capability described in Section 8 of Multiprotocol Extensions capability described in Section 8 of
[RFC4760] to be able to send and receive BGP CT routes. [RFC4760] to be able to send and receive BGP CT routes.
At the ingress node of the tunnel's home domain, the tunneling At the ingress node of the tunnel's home domain, the tunneling
protocols install tunnel routes in the TRDB associated with the protocols install tunnel routes in the TRDB associated with the
Transport Class to which the tunnel belongs. Transport Class to which the tunnel belongs.
The egress node of the tunnel, i.e. the tunnel endpoint (EP), The egress node of the tunnel, i.e., the tunnel endpoint (EP),
originates the BGP CT route with RD:EP in the NLRI, Transport originates the BGP CT route with RD:EP in the NLRI, a Transport Class
Class RT and PNH as EP. This BGP CT route will be resolved over RT, and a PNH as the EP. This BGP CT route will be resolved over the
the tunnel route in TRDB at the ingress node. When the tunnel is tunnel route in TRDB at the ingress node. When the tunnel is up, the
up, the Classful Transport BGP route will become usable and get Classful Transport BGP route will become usable and get readvertised
re-advertised by the ingress node to BGP peers in neighboring by the ingress node to BGP peers in neighboring domains.
domains.
Alternatively, the ingress node of the tunnel, which is also an Alternatively, the ingress node of the tunnel, which is also an ASBR/
ASBR/ABR in tunnel's home domain, may originate the BGP CT route ABR in a tunnel's home domain, may originate the BGP CT route for the
for the tunnel destination with NLRI RD:EP, attaching a Transport tunnel destination with RD:EP in the NLRI, attaching a Transport
Class Route Target that identifies the Transport Class. This BGP Class Route Target that identifies the Transport Class. This BGP CT
CT route is advertised to EBGP peers and IBGP peers in neighboring route is advertised to EBGP peers and IBGP peers in neighboring
domains. domains.
This originated route SHOULD NOT be advertised to the IBGP core This originated route SHOULD NOT be advertised to the IBGP core that
that contains the tunnel. This may be implemented by mechanisms contains the tunnel. This may be implemented by mechanisms such as
such as policy configuration. The impact of not prohibiting such policy configuration. The impact of not prohibiting such
advertisements is outside the scope of this document. advertisements is outside the scope of this document.
Unique RD SHOULD be used by the originator of a Classful Transport A unique RD SHOULD be used by the originator of a Classful Transport
route to disambiguate the multiple BGP advertisements for a route to disambiguate the multiple BGP advertisements for a transport
transport endpoint. An administrator may use duplicate RDs based endpoint. An administrator may use duplicate RDs based on local
on local choice, understanding the impact on path diversity and choice, understanding the impact on path diversity and
troubleshooting, as described in Section 10.2. troubleshooting, as described in Section 10.2.
7.3. Processing Classful Transport Routes by Ingress Nodes 7.3. Processing Classful Transport Routes by Ingress Nodes
Upon receipt of a BGP CT route with a PNH EP that is not directly Upon receipt of a BGP CT route with a PNH EP that is not directly
connected (e.g. an IBGP-route), a Mapping Community (the Transport connected (e.g., an IBGP-route), a Mapping Community (the Transport
Class RT) on the route is used to decide to which resolution Class RT) on the route is used to decide to which resolution scheme
scheme this route is to be mapped. this route is to be mapped.
The resolution scheme for a Transport Class RT with Transport The resolution scheme for a Transport Class RT with Transport Class
Class ID "C1" contains the TRDB of a Transport Class with same ID. ID "C1" contains the TRDB of a Transport Class with same ID. The
The administrator MAY customize the resolution scheme for administrator MAY customize the resolution scheme for Transport Class
Transport Class "C1" to map to a different ordered list of TRDBs. ID "C1" to map to a different ordered list of TRDBs. If the
If the resolution scheme for TC ID "C1" is not found, the resolution scheme for TC ID "C1" is not found, the resolution scheme
resolution scheme containing the "Best Effort" transport class containing the "Best-Effort" transport class TRDB is used.
TRDB is used.
The routes in the TRDBs associated with selected resolution scheme The routes in the TRDBs associated with a selected resolution scheme
are used to resolve the received PNH EP. The order of TRDBs in are used to resolve the received PNH EP. The order of TRDBs in the
the resolution scheme is followed when resolving the received PNH, resolution scheme is followed when resolving the received PNH, such
such that a route in a backup TRDB is used only when a matching that a route in a backup TRDB is used only when a matching route was
route was not found for EP in the primary TRDBs preceding it. not found for EP in the primary TRDBs preceding it. This achieves
This achieves the fallback desired by the resolution scheme. the fallback desired by the resolution scheme.
If the resolution process does not find a matching route for EP in If the resolution process does not find a matching route for the EP
any of the associated TRDBs, the received BGP CT route MUST be in any of the associated TRDBs, the received BGP CT route MUST be
considered unresolvable. (See RFC 4271, Section 9.1.2.1). considered unresolvable. (See Section 9.1.2.1 of [RFC4271].)
The received BGP CT route MUST be added to the TRDB corresponding The received BGP CT route MUST be added to the TRDB corresponding to
to the Transport Class "C1", if the transport class is provisioned the Transport Class ID "C1" if the transport class is provisioned
locally. This step applies only if the Transport Class RT is locally. This step applies only if the Transport Class RT is
received on a BGP CT family route. The RD in the BGP CT NLRI received on a BGP CT family route. The RD in the BGP CT NLRI prefix
prefix RD:EP is ignored when the BGP CT route for EP is added to RD:EP is ignored when the BGP CT route for EP is added to the TRDB so
the TRDB, so that overlay routes can resolve over this BGP CT that overlay routes can resolve over this BGP CT tunnel route by
tunnel route by performing a lookup for EP. Please note that a performing a lookup for the EP. Please note that a TRDB is a logical
TRDB is a logical database of tunnel routes belonging to the same database of tunnel routes belonging to the same Transport Class ID;
Transport Class ID, hence it uses only the EP as the lookup key hence, it only uses the EP as the lookup key (without RD or TC ID).
without RD or TC ID.
If no Mapping Community was found on a BGP CT route, the best If no Mapping Community is found on a BGP CT route, the best-effort
effort resolution scheme is used for resolving the route's next resolution scheme is used to resolve the route's next hop, and the
hop, and the BGP CT route is not added to any TRDB. BGP CT route is not added to any TRDB.
7.4. Readvertising Classful Transport Route by Border Nodes 7.4. Readvertising Classful Transport Route by Border Nodes
This section describes the MPLS label handling when readvertising This section describes the MPLS label handling when readvertising a
a BGP CT route with Next Hop set to Self. When readvertising a BGP CT route with "NH self". When readvertising a BGP CT route with
BGP CT route with Next Hop set to Self, a BN allocates an MPLS "NH self", a BN allocates an MPLS label to advertise upstream in the
label to advertise upstream in Classful Transport NLRI. The BN Classful Transport NLRI. The BN also installs an MPLS route for that
also installs an MPLS route for that label that swaps the incoming label that swaps the incoming label with the label received from the
label with the label received from the downstream BGP speaker (or downstream BGP speaker (or pops the incoming label if the label
pops the incoming label if the label received from the downstream received from the downstream BGP speaker was Implicit-NULL). The
BGP speaker was Implicit-NULL). The MPLS route then pushes MPLS route then pushes received traffic to the transport tunnel or
received traffic to the transport tunnel or direct interface that direct interface that the Classful Transport route's PNH resolved
the Classful Transport route's PNH resolved over. over.
The label SHOULD be allocated with "per-prefix" label allocation The label SHOULD be allocated with "per-prefix" label-allocation
semantics. The IP prefix in the TRDB context (Transport-Class, semantics. The IP prefix in the TRDB context (Transport-Class, IP-
IP-prefix) is used as the key to do per-prefix label allocation. prefix) is used as the key to "per-prefix" label allocation. This
This helps in avoiding BGP CT route churn throughout the CT helps in avoiding BGP CT route churn throughout the CT network when
network when an instability (e.g., link failure) is experienced in an instability (e.g., link failure) is experienced in a domain. The
a domain. The failure is not propagated further than the BN failure is not propagated further than the BN closest to the failure.
closest to the failure. If a different label allocation mode is If a different label-allocation mode is used, the impact on end-to-
used, the impact on end to end convergence should be considered. end convergence should be considered.
The value of the advertised MPLS label is locally significant, and The value of the advertised MPLS label is locally significant and is
is dynamic by default. A BN may provide an option to allocate a dynamic by default. A BN may provide an option to allocate a value
value from a statically provisioned range. This can be achieved from a statically provisioned range. This can be achieved using a
using locally configured export policy, or via mechanisms such as locally configured export policy or via mechanisms such as the ones
the ones described in BGP Prefix-SID [RFC8669]. described related to BGP Prefix-SID as described in BGP (see
[RFC8669]).
7.5. Border Nodes Receiving Classful Transport Routes on EBGP 7.5. Border Nodes Receiving Classful Transport Routes on EBGP
If a route is received with a PNH that is known to be directly If a route is received with a PNH that is known to be directly
connected (for example, EBGP single-hop neighbor address), the connected (for example, an EBGP single-hop neighbor address), the
directly connected interface is checked for MPLS forwarding directly connected interface is checked for MPLS forwarding
capability. No other next hop resolution process is performed capability. No other next hop resolution process is performed since
since the inter-AS link can be used for any Transport Class. the inter-AS link can be used for any Transport Class.
If the inter-AS links need to honor Transport Class, then the BN If the inter-AS links need to honor Transport Class, then the BN MUST
MUST follow procedures of an Ingress node (Section 7.3) and follow the procedures of an Ingress node (Section 7.3) and perform
perform the next hop resolution process. In order to make the the next hop resolution process. In order to make the link Transport
link Transport Class aware, the route to directly connected PNH is Class aware, the route to the directly connected PNH is installed in
installed in the TRDB belonging to the associated Transport Class. the TRDB belonging to the associated Transport Class.
7.6. Avoiding Path Hiding Through Route Reflectors 7.6. Avoiding Path Hiding Through Route Reflectors
When multiple instances of a given RD:EP exist with different When multiple instances of a given RD:EP exist with different
forwarding characteristics, then BGP ADD-PATH [RFC7911] is forwarding characteristics, BGP ADD-PATH (see [RFC7911]) is helpful.
helpful.
When multiple BNs exist such that they advertise a "RD:EP" prefix When multiple BNs exist such that they advertise an "RD:EP" prefix to
to Route Reflectors (RRs), the RRs may hide all but one of the Route Reflectors (RRs), the RRs may hide all but one of the BNs,
BNs, unless BGP ADD-PATH [RFC7911] is used for the Classful unless BGP ADD-PATH (see [RFC7911]) is used for the Classful
Transport family. This is similar to L3VPN Option B scenarios. Transport family. This is similar to L3VPN Option B scenarios.
Hence, BGP ADD-PATH [RFC7911] SHOULD be used for Classful Hence, BGP ADD-PATH (see [RFC7911]) SHOULD be used for the Classful
Transport family, to avoid path-hiding through RRs so that the RR Transport family to avoid path hiding through RRs so that the RR
sends multiple CT routes for RD:EP to its clients. This improves sends multiple CT routes for RD:EP to its clients. This improves the
the convergence time when the path via one of the multiple BNs convergence time when the path via one of the multiple BNs fails.
fails.
7.7. Avoiding Loops Between Route Reflectors in Forwarding Path 7.7. Avoiding Loops Between Route Reflectors in Forwarding Paths
A pair of redundant ABRs, each acting as an RR with next hop self, A pair of redundant ABRs, each acting as an RR with the next hop set
may choose each other as best path instead of the upstream ASBR, to itself, may choose each other as the best path instead of the
causing a traffic forwarding loop. upstream ASBR, causing a traffic-forwarding loop.
This problem can happen for routes of any BGP address family, This problem can happen for routes of any BGP address family,
including BGP CT and BGP LU. including BGP CT and BGP LU.
Using one or more of the approaches described in [BGP-FWD-RR] Using one or more of the approaches described in [BGP-FWD-RR] lowers
softens the possibility of such loops in a network with redundant the possibility of such loops in a network with redundant ABRs.
ABRs.
7.8. Ingress Nodes Receiving Service Routes with a Mapping Community 7.8. Ingress Nodes Receiving Service Routes with a Mapping Community
Upon receipt of a BGP service route (for example, AFI/SAFI: 1/1, Upon receipt of a BGP service route (for example, AFI/SAFI: 1/1, 2/1)
2/1) with a PNH as EP that is not directly connected (for example, with a PNH as the EP that is not directly connected (for example, an
an IBGP-route), a Mapping Community (for example, Color Extended IBGP-route), a Mapping Community (for example, a Color Extended
Community) on the route is used to decide to which resolution Community) on the route is used to decide to which resolution scheme
scheme this route is to be mapped. this route is to be mapped.
The resolution scheme for a Color Extended Community with Color The resolution scheme for a Color Extended Community with Color "C1"
"C1" contains a TRDB for a Transport Class with same ID, followed contains a TRDB for a Transport Class with same ID followed by the
by the Best Effort TRDB. The administrator MAY customize the Best-Effort TRDB. The administrator MAY customize the resolution
resolution scheme to map to a different ordered list of TRDBs. If scheme to map to a different ordered list of TRDBs. If the
the resolution scheme for TC ID "C1" is not found, the resolution resolution scheme for TC ID "C1" is not found, the resolution scheme
scheme containing the "Best Effort" transport class TRDB is used. containing the "Best-Effort" transport class TRDB is used.
If no Mapping Community was found on the overlay route, the "Best If no Mapping Community was found on the overlay route, the "Best
Effort" resolution scheme is used for resolving the route's next Effort" resolution scheme is used for resolving the route's next hop.
hop. This behavior is backward compatible to behavior of an This behavior is backward compatible to behavior of an implementation
implementation that does not follow procedures described in this that does not follow procedures described in this document.
document.
The routes in the TRDBs associated with selected resolution scheme The routes in the TRDBs associated with the selected resolution
are used to resolve the received PNH EP. The order of TRDBs in a scheme are used to resolve the received PNH EP. The order of TRDBs
resolution scheme is followed when resolving the received PNH, in a resolution scheme is followed when resolving the received PNH,
such that a route in a backup TRDB is used only when a matching such that a route in a backup TRDB is used only when a matching route
route was not found for EP in the primary TRDBs preceding it. was not found for the EP in the primary TRDBs preceding it. This
This achieves the fallback desired by the resolution scheme. achieves the fallback desired by the resolution scheme.
If the resolution process does not find a Tunnel Route for EP in If the resolution process does not find a Tunnel Route for the EP in
any of the Transport Route Databases, the service route MUST be any of the Transport Route Databases, the service route MUST be
considered unresolvable (See RFC 4271, Section 9.1.2.1). considered unresolvable. (See Section 9.1.2.1 of [RFC4271]).
Note: For an illustration of above procedures in a MPLS network, Note: For an illustration of above procedures in an MPLS network,
refer to Section 8. refer to Section 8.
7.9. Best Effort Transport Class 7.9. Best-Effort Transport Class
It is possible to represent 'Best effort' SLA also as a Transport It is also possible to represent a 'Best-effort' SLA as a Transport
Class. Today, BGP LU is used to extend the best effort intra Class. At the time of writing, BGP LU is used to extend the best-
domain tunnels to other domains. effort intra-domain tunnels to other domains.
Alternatively, BGP CT may also be used to carry the best effort Alternatively, BGP CT may also be used to carry the best-effort
tunnels. This document reserves the Transport Class ID value 0 to tunnels. This document reserves the Transport Class ID value 0 to
represent "Best Effort Transport Class ID". However, represent the "Best-Effort Transport Class ID". However,
implementations SHOULD provide configuration to use a different implementations SHOULD provide configuration to use a different value
value for this purpose. Procedures to manage differences in for this purpose. Procedures to manage differences in Transport
Transport Class ID namespaces between domains are provided in Class ID namespaces between domains are provided in Section 11.2.2.
Section 11.2.2.
The "Best Effort Transport Class ID" value is used in the The "Best-Effort Transport Class ID" value is used in the "Transport
"Transport Class ID" field of Transport Route Target Extended Class ID" field of the Transport Route Target extended community that
Community that is attached to the BGP CT route that advertises a is attached to the BGP CT route that advertises a best-effort tunnel
best effort tunnel endpoint. The RT thus formed is called the endpoint. Thus, the RT formed is called the "Best-Effort Transport
"Best Effort Transport Class Route Target". Class Route Target".
When a BN or SN receives a BGP CT route with Best Effort Transport When a BN or SN receives a BGP CT route with Best-Effort Transport
Class Route Target as the mapping community, the Best effort Class Route Target as the mapping community, the Best-effort
resolution scheme is used for resolving the BGP next hop, and the resolution scheme is used for resolving the BGP next hop, and the
resultant route is installed in the best effort transport route resultant route is installed in the best-effort transport route
database. If no best effort tunnel was found to resolve the BGP database. If no best-effort tunnel was found to resolve the BGP next
next hop, the BGP CT route MUST be considered unusable, and not be hop, the BGP CT route MUST be considered unusable and not be
propagated further. propagated further.
When a BGP speaker receives an overlay route without any explicit When a BGP speaker receives an overlay route without any explicit
Mapping Community, and absent local policy, the best effort Mapping Community, and absent local policy, the best-effort
resolution scheme is used for resolving the BGP next hop on the resolution scheme is used for resolving the BGP next hop on the
route. This behavior is backward compatible to behavior of an route. This behavior is backward compatible to behavior of an
implementation that does not follow procedures described in this implementation that does not follow procedures described in this
document. document.
Implementations MAY provide configuration to selectively install Implementations MAY provide configuration to selectively install BGP
BGP CT routes to the Forwarding Information Base (FIB), to provide CT routes to the Forwarding Information Base (FIB) to provide
reachability for control plane peering towards endpoints in other reachability for control-plane peering towards endpoints in other
domains. domains.
7.10. Interaction with BGP Attributes Specifying Next Hop Address and 7.10. Interaction with BGP Attributes Specifying Next Hop Address and
Color Color
The Tunnel Encapsulation Attribute, described in [RFC9012] can be The Tunnel Encapsulation Attribute, described in [RFC9012], can be
used to request a specific type of tunnel encapsulation. This used to request a specific type of tunnel encapsulation. This
attribute may apply to BGP service routes or transport routes, attribute may apply to BGP service routes or transport routes
including BGP Classful Transport family routes. including BGP Classful Transport family routes.
It should be noted that in such cases "Transport Class ID/Color" can It should be noted that in such cases "Transport Class ID/Color" can
exist in multiple places on the same route, and a precedence order exist in multiple places on the same route, and a precedence order
needs to be established to determine which Transport Class the needs to be established to determine which Transport Class the
route's next hop should resolve over. This document specifies the route's next hop should resolve over. This document specifies the
following order of precedence, more specific scoping of Color following order of precedence with more-specific scoping of Color
preferred to less specific scoping: preferred to less-specific scoping:
Color SubTLV, in Tunnel Encapsulation Attribute. * Color sub-TLV in the Tunnel Encapsulation Attribute.
Transport Target Extended community, on BGP CT route. * Transport Target extended community on a BGP CT route.
Color Extended community, on BGP service route. * Color Extended Community on a BGP service route.
Color specified in the Color subTLV in a TEA is a more specific Color specified in the Color sub-TLV in a TEA is a more-specific
indication of "Transport Class ID/Color" than Mapping Community indication of "Transport Class ID/Color" than Mapping Community
(Transport Target) on a BGP CT transport route, which is in turn is (Transport Target) on a BGP CT transport route, which, in turn, is
more specific than a Service route scoped Mapping Community (Color more specific than a Service-route-scoped Mapping Community (Color
Extended community). Extended Community).
Any BGP attributes or mechanisms defined in future that carry Any BGP attributes or mechanisms defined in future that carry
Transport Class ID/Color on the route are expected to specify the Transport Class ID/Color on the route are expected to specify the
order of precedence relative to the above. order of precedence relative to the above.
7.11. Applicability to Flowspec Redirect to IP 7.11. Applicability to Flowspec Redirect-to-IP
Flowspec routes using Redirect to IP next hop is described in Flowspec routes using redirect-to-IP next hop are described in
[FLOWSPEC-REDIR-IP] [FLOWSPEC-REDIR-IP].
Such Flowspec BGP routes with Redirect to IP next hop MAY be attached
with a Mapping Community (e.g. Color:0:100), which allows redirecting
the flow traffic over a tunnel to the IP next hop satisfying the
desired SLA (e.g. Transport Class color 100).
Flowspec BGP family acts as just another service that can make use of Such Flowspec BGP routes with redirect-to-IP next hop MAY be attached
BGP CT architecture to achieve Flow based forwarding with SLAs. with a Mapping Community (e.g., Color:0:100), which allows
redirecting the flow traffic over a tunnel to the IP next hop
satisfying the desired SLA (e.g., Transport Class color 100).
The Flowspec BGP family acts as just another service that can make
use of the BGP CT architecture to achieve flow-based forwarding with
SLAs.
7.12. Applicability to IPv6 7.12. Applicability to IPv6
BGP CT procedures apply equally to IPv4 and IPv6 enabled Intra-AS or BGP CT procedures apply equally to IPv4- and IPv6-enabled Intra-AS or
Inter-AS Option A, B, C network. This section describes Inter-AS Option A, B, and C networks. This section describes the
applicability of BGP CT to IPv6 at various layers. applicability of BGP CT to IPv6 at various layers.
A BGP CT enabled network supports IPv6 service families (for example, A network that is BGP CT enabled supports IPv6 service families (for
AFI/SAFI 2/1 or 2/128) and IPv6 transport signaling protocols like example, AFI/SAFI 2/1 or 2/128) and IPv6 transport signaling
SRTEv6, LDPv6, RSVP-TEv6. protocols like SRTEv6, LDPv6, or RSVP-TEv6.
Procedures in this document also apply to a network with Pure IPv6 Procedures in this document also apply to a network with Pure IPv6
core, that uses MPLS forwarding for intra-domain tunnels and inter-AS core, that uses MPLS forwarding for intra-domain tunnels and inter-AS
links. BGP CTv6 family (AFI/SAFI: 2/76) is used to carry global IPv6 links. The BGP CTv6 family (AFI/SAFI: 2/76) is used to carry global
address tunnel endpoints in the NLRI. Service family routes (for IPv6 address tunnel endpoints in the NLRI. Service family routes
example, AFI/SAFI: 1/1, 2/1, 1/128, 2/128) are also advertised with (for example, AFI/SAFI: 1/1, 2/1, 1/128, and 2/128) are also
those Global IPv6 addresses as next hop. advertised with those Global IPv6 addresses as next hop.
Procedures in this document also apply to a 6PE network with an IPv4 Procedures in this document also apply to a 6PE network with an IPv4
core, that uses MPLS forwarding for intra-domain tunnels and Inter-AS core, which uses MPLS forwarding for intra-domain tunnels and Inter-
links. BGP CTv6 family (AFI/SAFI: 2/76) is used to carry IPv4 Mapped AS links. The BGP CTv6 family (AFI/SAFI: 2/76) is used to carry IPv4
IPv6 address tunnel endpoints in the NLRI. IPv6 Service family Mapped IPv6 address tunnel endpoints in the NLRI. IPv6 Service
routes (for example, AFI/SAFI: 2/1, 2/128) are also advertised with family routes (for example, AFI/SAFI: 2/1, 2/128) are also advertised
those IPv4 Mapped IPv6 addresses as next hop. with those IPv4 Mapped IPv6 addresses as next hop.
The PE-CE attachment circuits may use IPv4 addresses only, IPv6 The PE-CE attachment circuits may use IPv4 addresses only, IPv6
addresses only, or both IPv4 and IPv6 addresses. addresses only, or both IPv4 and IPv6 addresses.
7.13. SRv6 Support 7.13. SRv6 Support
BGP CT family (AFI/SAFI 2/76) may be used to set up inter-domain The BGP CT family (AFI/SAFI 2/76) may be used to set up inter-domain
tunnels of a certain Transport Class, when using Segment Routing over tunnels of a certain Transport Class when using a Segment Routing
IPv6 (SRv6) data plane on the inter-AS links or as an intra-AS over IPv6 (SRv6) data plane on the inter-AS links or as an intra-AS
tunneling mechanism. tunneling mechanism.
Details of SRv6 Endpoint behaviors used by BGP CT and the procedures Details of SRv6 Endpoint behaviors used by BGP CT and the procedures
are specified in a separate document [BGP-CT-SRv6], along with are specified and illustrated in a separate document (see
illustration. As noted in that document, BGP CT route update for [BGP-CT-SRv6]). As noted in that document, a BGP CT route update for
SRv6 includes a BGP attribute containing SRv6 SID information (e.g. SRv6 includes a BGP attribute containing SRv6 SID information (e.g.,
Prefix SID [RFC9252]) with Transposition scheme disabled. a BGP Prefix-SID [RFC9252]) with the Transposition scheme disabled.
7.14. Error Handling Considerations 7.14. Error-Handling Considerations
If a BGP speaker receives both Transitive (Section 13.2.1.1.1) and If a BGP speaker receives both Transitive and Non-Transitive (see
Non-Transitive (Section 13.2.1.1.2) versions of Transport Class Section 13.2.1.1.1 and Section 13.2.1.1.2, respectievely) versions of
extended community on a route, only the Transitive one is used. a Transport Class extended community on a route, only the Transitive
one is used.
If a BGP speaker considers a received "Transport Class" extended If a BGP speaker considers a received "Transport Class" extended
community (Transitive or Non-Transitive version), or any other part community (the Transitive or Non-Transitive version) or any other
of a BGP CT route invalid for some reason, but is able to part of a BGP CT route invalid for some reason, but is able to
successfully parse the NLRI and attributes, Treat-as-withdraw successfully parse the NLRI and attributes, the treat-as-withdraw
approach from [RFC7606] is used. The route is kept as Unusable, with approach from [RFC7606] is used. The route is kept as Unusable, with
appropriate diagnostic information, to aid troubleshooting. appropriate diagnostic information, to aid troubleshooting.
8. Illustration of BGP CT Procedures 8. Illustration of BGP CT Procedures
This section illustrates BGP CT procedures in an Inter-AS Option C This section illustrates BGP CT procedures in an Inter-AS Option C
MPLS network. MPLS network.
All Illustrations in this document make use of [RFC6890] IP address All illustrations in this document make use of IP address ranges as
ranges. The range 192.0.2.0/24 is used to represent transport described in [RFC6890]. The range 192.0.2.0/24 is used to represent
endpoints like loopback addresses. The range 203.0.113.0/24 is used transport endpoints like loopback addresses. The range
to represent service route prefixes advertised in AFI/SAFIs: 1/1 or 203.0.113.0/24 is used to represent service route prefixes advertised
1/128. in AFI/SAFIs: 1/1 or 1/128.
Though this section illustrates using IPv4, as described in Though this section illustrates the use of IPv4, as described in
Section 7.12 these procedures work equally for IPv6 as-well. Section 7.12, these procedures work equally for IPv6 as well.
8.1. Reference Topology 8.1. Reference Topology
[RR26] [RR27] [RR16] [RR26] [RR27] [RR16]
| | | | | |
| | | | | |
| +--[ABR23]--+ | +--[ASBR21]-[ASBR13]--+ | +--[PE11]--+ | +--[ABR23]--+ | +--[ASBR21]-[ASBR13]--+ | +--[PE11]--+
| | | | | \ / | | | | | | | | | \ / | | | |
[CE41]-[PE25]-[P28] [P29] \/ [P15] [CE31] [CE41]-[PE25]-[P28] [P29] \/ [P15] [CE31]
| | | /\ | | | | | | /\ | | |
skipping to change at page 30, line 6 skipping to change at line 1381
: AS2 : AS2 : : : AS2 : AS2 : :
AS4 : region-1 : region-2 : AS1 : AS3 AS4 : region-1 : region-2 : AS1 : AS3
: : : : : : : :
203.0.113.41 ---------- Traffic Direction ------------> 203.0.113.31 203.0.113.41 ---------- Traffic Direction ------------> 203.0.113.31
Figure 3: Multi-Domain BGP CT Network Figure 3: Multi-Domain BGP CT Network
This example shows a provider MPLS network that consists of two ASes, This example shows a provider MPLS network that consists of two ASes,
AS1 and AS2. They are serving customers AS3, AS4 respectively. AS1 and AS2, that serve customers AS3 and AS4, respectively. The
Traffic direction being described is CE41 to CE31. CE31 may request traffic direction being described is from CE41 to CE31. CE31 may
a specific SLA (for example, mapped to Gold for this example), when request a specific SLA (mapped to Gold for this example), when
traversing these provider networks. traversing these provider networks.
AS2 is further divided into two regions. There are three tunnel AS2 is further divided into two regions. There are three tunnel
domains in provider's space: AS1 uses ISIS Flex-Algo [RFC9350] intra- domains in the provider's space:
domain tunnels. AS2 uses RSVP-TE intra-domain tunnels. MPLS
forwarding is used within these domains and on inter-domain links. * AS1 uses ISIS Flex-Algo (see[RFC9350]) intra-domain tunnels.
* AS2 uses RSVP-TE intra-domain tunnels.
MPLS forwarding is used within these domains and on inter-domain
links.
The network exposes two Transport Classes: "Gold" with Transport The network exposes two Transport Classes: "Gold" with Transport
Class ID 100, "Bronze" with Transport Class ID 200. These Transport Class ID 100 and "Bronze" with Transport Class ID 200. These
Classes are provisioned at the PEs and the Border nodes (ABRs, ASBRs) Transport Classes are provisioned at the PEs and the Border nodes
in the network. (ABRs and ASBRs) in the network.
The following tunnels exist for Gold Transport Class. The following tunnels exist for the Gold Transport Class:
PE25_to_ABR23_gold - RSVP-TE tunnel * PE25_to_ABR23_gold - RSVP-TE tunnel
PE25_to_ABR24_gold - RSVP-TE tunnel * PE25_to_ABR24_gold - RSVP-TE tunnel
ABR23_to_ASBR22_gold - RSVP-TE tunnel * ABR23_to_ASBR22_gold - RSVP-TE tunnel
ASBR13_to_PE11_gold - SRTE tunnel * ASBR13_to_PE11_gold - SRTE tunnel
ASBR14_to_PE11_gold - SRTE tunnel * ASBR14_to_PE11_gold - SRTE tunnel
The following tunnels exist for Bronze Transport Class. The following tunnels exist for Bronze Transport Class:
PE25_to_ABR23_bronze - RSVP-TE tunnel * PE25_to_ABR23_bronze - RSVP-TE tunnel
ABR23_to_ASBR21_bronze - RSVP-TE tunnel * ABR23_to_ASBR21_bronze - RSVP-TE tunnel
ABR23_to_ASBR22_bronze - RSVP-TE tunnel * ABR23_to_ASBR22_bronze - RSVP-TE tunnel
ABR24_to_ASBR21_bronze - RSVP-TE tunnel * ABR24_to_ASBR21_bronze - RSVP-TE tunnel
ASBR13_to_PE12_bronze - ISIS FlexAlgo tunnel * ASBR13_to_PE12_bronze - ISIS FlexAlgo tunnel
ASBR14_to_PE11_bronze - ISIS FlexAlgo tunnel * ASBR14_to_PE11_bronze - ISIS FlexAlgo tunnel
These tunnels are either provisioned or auto-discovered to belong to These tunnels are either provisioned or autodiscovered to belong to
Transport Classes 100 or 200. Transport Class IDs 100 or 200.
8.2. Service Layer Route Exchange 8.2. Service-Layer Route Exchange
Service nodes PE11, PE12 negotiate service families (AFI: 1 and SAFIs Service nodes PE11 and PE12 negotiate service families (AFI: 1 and
1, 128) on the BGP session with RR16. Service helpers RR16 and RR26 SAFIs 1, 128) on the BGP session with RR16. Service helpers RR16 and
exchange these service routes with next hop unchanged over a multihop RR26 exchange these service routes with the next hop unchanged over a
EBGP session between the two AS. PE25 negotiates service families multihop EBGP session between the two ASes. PE25 negotiates service
(AFI: 1 and SAFIs 1, 128) with RR26. families (AFI: 1 and SAFIs 1, 128) with RR26.
The PEs see each other as next hop in the BGP Update for the service The PEs see each other as the next hop in the BGP UPDATE message for
family routes. BGP ADD-PATH send and receive is enabled on both the service family routes. BGP ADD-PATH send and receive are enabled
directions on the EBGP multihop session between RR16 and RR26 for on both directions on the EBGP multihop session between RR16 and RR26
AFI:1 and SAFIs 1, 128. BGP ADD-PATH send is negotiated in the RR to for AFI:1 and SAFIs 1, 128. BGP ADD-PATH send is negotiated in the
PE direction in each AS. This is to avoid path hiding of service RR to PE direction in each AS. This is to avoid the path-hiding
routes at RR; i.e., AFI/SAFI 1/1 routes advertised by both PE11 and service routes at the RR, i.e., AFI/SAFI 1/1 routes advertised by
PE12. Or, AFI/SAFI 1/128 routes originated by both PE11 and PE12 both PE11 and PE12 or AFI/SAFI 1/128 routes originated by both PE11
using same RD. and PE12 using the same RD.
Forwarding happens using service routes installed at service nodes Forwarding happens using service routes installed at service nodes
PE25, PE11, PE12 only. Service routes received from CEs are not PE25, PE11, and PE12 only. Service routes received from CEs are not
present in any other nodes' FIB in the network. present in any other nodes' FIB in the network.
As an example, CE31 advertises a route for prefix 203.0.113.31 with As an example, CE31 advertises a route for prefix 203.0.113.31 with
next hop as self to PE11, PE12. CE31 can attach a Mapping Community the next hop as itself to PE11 and PE12. CE31 can attach a Mapping
Color:0:100 on this route, to indicate its request for Gold SLA. Or, Community Color:0:100 on this route to indicate its request for a
PE11 can attach the same using locally configured policies. Gold SLA. Or, PE11 can attach the same using locally configured
policies.
Consider, CE31 is getting VPN service from PE11. The Consider CE31 getting VPN service from PE11. The RD1:203.0.113.31
RD1:203.0.113.31 route is readvertised in AFI/SAFI 1/128 by PE11 with route is readvertised in AFI/SAFI 1/128 by PE11 with the next hop set
next hop self (192.0.2.11) and label V-L1, to RR16 with the Mapping to itself (192.0.2.11) and label V-L1 to RR16 with the Mapping
Community Color:0:100 attached. RR16 advertises this route with BGP Community Color:0:100 attached. RR16 advertises this route with the
ADD-PATH ID to RR26 which readvertises to PE25 with next hop BGP ADD-PATH ID set to RR26, which readvertises to PE25 with the next
unchanged. Now, PE25 can resolve the PNH 192.0.2.11 using transport hop unchanged. Now, PE25 can resolve the PNH 192.0.2.11 using
routes received in BGP CT or BGP LU. transport routes received in BGP CT or BGP LU.
Using BGP ADD-PATH, service routes advertised by PE11 and PE12 for Using BGP ADD-PATH, service routes advertised by PE11 and PE12 for
AFI:1 SAFIs 1, 128 reach PE25 via RR16, RR26 with the next hop AFI:1 SAFIs 1, 128 reach PE25 via RR16, RR26 with the next hop
unchanged, as PE11 or PE12. unchanged, as PE11 or PE12.
The IP FIB at PE25 VRF will have a route for 203.0.113.31 with a next The IP FIB at the PE25 VRF will have a route for 203.0.113.31 with a
hop when resolved, that points to a Gold tunnel in ingress domain. next hop when resolved that points to a Gold tunnel in the ingress
domain.
8.3. Transport Layer Route Propagation 8.3. Transport-Layer Route Propagation
Egress nodes PE11, PE12 negotiate BGP CT family with transport ASBRs Egress nodes PE11 and PE12 negotiate a BGP CT family with transport
ASBR13, ASBR14. These egress nodes originate BGP CT routes for ASBRs ASBR13 and ASBR14. These egress nodes originate BGP CT routes
tunnel endpoint addresses, that are advertised as next hop in BGP for tunnel endpoint addresses that are advertised as a next hop in
service routes. In this example, both PEs participate in transport BGP service routes. In this example, both PEs participate in
classes Gold and Bronze. The protocol procedures are explained using transport classes Gold and Bronze. The protocol procedures are
the Gold SLA transport plane and the Bronze SLA transport plane is explained using the Gold SLA transport plane; the Bronze SLA
used to highlight the path hiding aspects. transport plane is used to highlight the path-hiding aspects.
PE11 is provisioned with transport class 100, RD value 192.0.2.11:100 For Gold tunnels, PE11 is provisioned with transport class 100, RD
and a transport-target:0:100 for Gold tunnels. And a Transport class value 192.0.2.11:100, and a transport-target:0:100. For Bronze
200 with RD value 192.0.2.11:200, and transport route target 0:200 tunnels, PE11 is provisioned with Transport class 200, RD value
for Bronze tunnels. Similarly, PE12 is provisioned with transport 192.0.2.11:200, and transport route target 0:200. Similarly, for
class 100, RD value 192.0.2.12:100 and a transport-target:0:100 for Gold tunnels, PE12 is provisioned with transport class 100, RD value
Gold tunnels. And transport class 200, RD value 192.0.2.12:200 with 192.0.2.12:100, and a transport-target:0:100. For Bronze tunnels,
transport-target:0:200 for Bronze tunnels. Note that in this PE12 is provisioned with transport class 200, RD value
192.0.2.12:200, and transport-target:0:200. Note that, in this
example, the BGP CT routes carry only the transport class route example, the BGP CT routes carry only the transport class route
target, and no IP address format route target. target and no IP address format route target.
The RD value originated by an egress node is not modified by any BGP The RD value originated by an egress node is not modified by any BGP
speakers when the route is readvertised to the ingress node. Thus, speakers when the route is readvertised to the ingress node. Thus,
the RD can be used to identify the originator (unique RD provisioned) the RD can be used to identify the originator (unique RD provisioned)
or set of originators (RD reused on multiple nodes). or set of originators (RD reused on multiple nodes).
Similarly, these transport classes are also configured on ASBRs, ABRs Similarly, these transport classes are also configured on ASBRs,
and PEs with same Transport Route Target and unique RDs. ABRs, and PEs with same Transport Route Target and unique RDs.
ASBR13 and ASBR14 negotiate BGP CT family with transport ASBRs ASBR13 and ASBR14 negotiate BGP CT family with transport ASBRs ASBR21
ASBR21, ASBR22 in neighboring AS. ASBR21, ASBR22 negotiate BGP CT and ASBR22 in neighboring ASes. ASBR21 and ASBR22 negotiate BGP CT
family with RR27 in region 2, which reflects BGP CT routes to ABR23, family with RR27 in region 2, which reflects BGP CT routes to ABR23
ABR24. ABR23, ABR24 negotiate BGP CT family with Ingress node PE25 and ABR24. ABR23 and ABR24 negotiate BGP CT family with Ingress node
in region 1. BGP LU family is also negotiated on these sessions PE25 in region 1. The BGP LU family is also negotiated on these
alongside BGP CT family. BGP LU carries "best effort" transport sessions alongside the BGP CT family. The BGP LU family carries
class routes, BGP CT carries Gold, Bronze transport class routes. "best-effort" transport class routes; BGP CT carries Gold and Bronze
transport class routes.
PE11 is provisioned to originate a BGP CT route for endpoint PE11, PE11 is provisioned to originate a BGP CT route for endpoint PE11,
with Gold SLA. This route is sent with NLRI RD prefix with a Gold SLA. This route is sent with NLRI RD prefix
192.0.2.11:100:192.0.2.11, Label B-L0, next hop 192.0.2.11 and a 192.0.2.11:100:192.0.2.11, Label B-L0, next hop 192.0.2.11, and a
route target extended community transport-target:0:100. Label B-L0 Route Target extended community transport-target:0:100. Label B-L0
can either be Implicit Null (Label 3) or an UHP label. can either be Implicit Null (Label 3) or a UHP label.
This route is received by ASBR13 and it resolves over the tunnel This route is received by ASBR13 and it resolves over the tunnel
ASBR13_to_PE11_gold. The route is then readvertised by ASBR13 in BGP ASBR13_to_PE11_gold. The route is then readvertised by ASBR13 in BGP
CT family to ASBRs ASBR21, ASBR22 according to export policy. This CT family to ASBRs ASBR21, ASBR22 according to export policy. This
route is sent with same NLRI RD prefix 192.0.2.11:100:192.0.2.11, route is sent with same NLRI RD prefix 192.0.2.11:100:192.0.2.11,
Label B-L1, next hop self, and transport-target:0:100. MPLS swap Label B-L1, the next hop set to itself, and transport-target:0:100.
route is installed at ASBR13 for B-L1 with a next hop pointing to An MPLS swap route is installed at ASBR13 for B-L1 with a next hop
ASBR13_to_PE11_gold tunnel. pointing to ASBR13_to_PE11_gold tunnel.
Similarly, ASBR14 also receives a BGP CT route for Similarly, ASBR14 also receives a BGP CT route for
192.0.2.11:100:192.0.2.11 from PE11 and it resolves over the tunnel 192.0.2.11:100:192.0.2.11 from PE11, and it resolves over the tunnel
ASBR14_to_PE11_gold. The route is then readvertised by ASBR14 in BGP ASBR14_to_PE11_gold. The route is then readvertised by ASBR14 in the
CT family to ASBRs ASBR21, ASBR22 according to export policy. This BGP CT family to ASBRs ASBR21 and ASBR22 according to export policy.
route is sent with the same NLRI RD prefix 192.0.2.11:100:192.0.2.11, This route is sent with the same NLRI RD prefix
Label B-L2, next hop self, and transport-target:0:100. MPLS swap 192.0.2.11:100:192.0.2.11, Label B-L2, next hop set to itself, and
route is installed at ASBR14 for B-L1 with a next hop pointing to transport-target:0:100. An MPLS swap route is installed at ASBR14
ASBR14_to_PE11_gold tunnel. for B-L1 with a next hop pointing to ASBR14_to_PE11_gold tunnel.
In the Bronze plane, BGP CT route with Bronze SLA to endpoint PE11 is In the Bronze plane, the BGP CT route with a Bronze SLA to endpoint
originated by PE11 with a NLRI containing RD prefix PE11 is originated by PE11 with an NLRI containing RD prefix
192.0.2.11:200:192.0.2.11, and appropriate label. The use of 192.0.2.11:200:192.0.2.11 and an appropriate label. The use of
distinct RDs for Gold and Bronze allows both Gold and Bronze distinct RDs for Gold and Bronze allows both Gold and Bronze
advertisements to traverse path selection pinchpoints without any advertisements to traverse path-selection pinchpoints without any
path hiding at RRs or ASBRs. And route target extended community path hiding at RRs or ASBRs. And Route Target extended community
transport-target:0:200 lets the route resolve over Bronze tunnels in transport-target:0:200 lets the route resolve over Bronze tunnels in
the network, similar to the process being described for Gold SLA the network, similar to the process being described for the Gold SLA
path. path.
Moving back to the Gold plane, ASBR21 receives the Gold SLA BGP CT Moving back to the Gold plane, ASBR21 receives the Gold SLA BGP CT
routes for NLRI RD prefix 192.0.2.11:100:192.0.2.11 over the single routes for NLRI RD prefix 192.0.2.11:100:192.0.2.11 over the single-
hop EBGP sessions from ASBR13, ASBR14, and can compute ECMP/FRR hop EBGP sessions from ASBR13 and ASBR14 and can compute ECMP/FRR
towards them. ASBR21 readvertises BGP CT route for towards them. ASBR21 readvertises the BGP CT route for
192.0.2.11:100:192.0.2.11 with next hop self (loopback address 192.0.2.11:100:192.0.2.11 with a next hop set to itself (loopback
192.0.2.21) to RR27, advertising a new label B-L3. An MPLS swap address 192.0.2.21) to RR27, advertising a new label: B-L3. An MPLS
route is installed for label B-L3 at ASBR21 to swap to received label swap route is installed for label B-L3 at ASBR21 to swap to received
B-L1, B-L2 and forward to ASBR13, ASBR14 respectively, this is an labels B-L1 and B-L2 and forward to ASBR13 and ASBR14 respectively;
ECMP route. RR27 readvertises this BGP CT route to ABR23, ABR24 with this is an ECMP route. RR27 readvertises this BGP CT route to ABR23
label and next hop unchanged. and ABR24 with the label and next hop unchanged.
Similarly, ASBR22 receives BGP CT route 192.0.2.11:100:192.0.2.11 Similarly, ASBR22 receives BGP CT route 192.0.2.11:100:192.0.2.11
over the single hop EBGP sessions from ASBR13, ASBR14, and over the single-hop EBGP sessions from ASBR13 and ASBR14, and it
readvertises with next hop self (loopback address 192.0.2.22) to readvertises with the next hop set to itself (loopback address
RR27, advertising a new label B-L4. An MPLS swap route is installed 192.0.2.22) to RR27, advertising a new label: B-L4. An MPLS swap
for label B-L4 at ASBR22 to swap to received label B-L1, B-L2 and route is installed for label B-L4 at ASBR22 to swap to received
forward to ASBR13, ASBR14 respectively. RR27 readvertises this BGP labels B-L1 and B-L2 and forward to ASBR13 and ASBR14, respectively.
CT route also to ABR23, ABR24 with label and next hop unchanged. RR27 also readvertises this BGP CT route to ABR23 and ABR24 with the
label and next hop unchanged.
BGP ADD-PATH is enabled for BGP CT family on the sessions between BGP ADD-PATH is enabled for the BGP CT family on the sessions between
RR27 and ASBRs, ABRs such that routes for 192.0.2.11:100:192.0.2.11 RR27 and the ASBRs and ABRs such that routes for
with the next hops ASBR21 and ASBR22 are reflected to ABR23, ABR24 192.0.2.11:100:192.0.2.11 with the next hops ASBR21 and ASBR22 are
without any path hiding. Thus, ABR23 is given visibility of both reflected to ABR23 and ABR24 without any path hiding. Thus, ABR23 is
available next hops for Gold SLA. given visibility of both available next hops for the Gold SLA.
ABR23 receives the route with next hop 192.0.2.21, label B-L3 from ABR23 receives the route with next hop 192.0.2.21 and label B-L3 from
RR27. The route target "transport-target:0:100" on this route acts RR27. The route target "transport-target:0:100" on this route acts
as Mapping Community, and instructs ABR23 to strictly resolve the as the Mapping Community and instructs ABR23 to strictly resolve the
next hop using transport class 100 routes only. ABR23 is unable to next hop using transport class 100 routes only. ABR23 is unable to
find a route for 192.0.2.21 with transport class 100. Thus, it find a route for 192.0.2.21 with transport class 100. Thus, it
considers this route unusable and does not propagate it further. considers this route unusable and does not propagate it further.
This prunes ASBR21 from Gold SLA tunneled path. This prunes ASBR21 from the Gold SLA tunneled path.
ABR23 also receives the route with next hop 192.0.2.22, label B-L4 ABR23 also receives the route with next hop 192.0.2.22 and label B-L4
from RR27. The route target "transport-target:0:100" on this route from RR27. The route target "transport-target:0:100" on this route
acts as Mapping Community, and instructs ABR23 to strictly resolve acts as the Mapping Community and instructs ABR23 to strictly resolve
the next hop using transport class 100 routes only. ABR23 the next hop using transport class 100 routes only. ABR23
successfully resolves the next hop to point to ABR23_to_ASBR22_gold successfully resolves the next hop to point to ABR23_to_ASBR22_gold
tunnel. ABR23 readvertises this BGP CT route with next hop self tunnel. ABR23 readvertises this BGP CT route with the next hop set
(loopback address 192.0.2.23) and a new label B-L5 to PE25. Swap to itself (loopback address 192.0.2.23) and a new label B-L5 to PE25.
route for B-L5 is installed by ABR23 to swap to label B-L4, and A swap route for B-L5 is installed by ABR23 to swap to label B-L4 and
forward into ABR23_to_ASBR22_gold tunnel. forward into ABR23_to_ASBR22_gold tunnel.
PE25 receives the BGP CT route for prefix 192.0.2.11:100:192.0.2.11 PE25 receives the BGP CT route for prefix 192.0.2.11:100:192.0.2.11
with label B-L5, next hop 192.0.2.23 and transport-target:0:100 from with label B-L5, next hop 192.0.2.23, and transport-target:0:100 from
RR26. And it similarly resolves the next hop 192.0.2.23 over RR26. It similarly resolves the next hop 192.0.2.23 over transport
transport class 100, pushing labels associated with class 100, pushing labels associated with PE25_to_ABR23_gold tunnel.
PE25_to_ABR23_gold tunnel.
In this manner, the Gold transport LSP "ASBR13_to_PE11_gold" in the In this manner, the Gold transport LSP "ASBR13_to_PE11_gold" in the
egress domain is extended by BGP CT until the ingress node PE25 in egress domain is extended by BGP CT until the ingress node PE25 in
the ingress domain, to create an end-to-end Gold SLA path. MPLS swap the ingress domain, to create an end-to-end Gold SLA path. MPLS swap
routes are installed at ASBR13, ASBR22 and ABR23, when propagating routes are installed at ASBR13, ASBR22, and ABR23, when propagating
the PE11 BGP CT Gold transport class route 192.0.2.11:100:192.0.2.11 the PE11 BGP CT Gold transport class route 192.0.2.11:100:192.0.2.11
with next hop self towards PE25. with next hop set to itself towards PE25.
The BGP CT LSP thus formed, originates in PE25, and terminates in Thus formed, the BGP CT LSP originates in PE25 and terminates in
ASBR13 (assuming PE11 advertised Implicit Null), traversing over the ASBR13 (assuming PE11 advertised Implicit Null), traversing over the
Gold underlay LSPs in each domain. ASBR13 uses UHP to stitch the BGP Gold underlay LSPs in each domain. ASBR13 uses UHP to stitch the BGP
CT LSP into the "ASBR13_to_PE11_gold" LSP to traverse the last CT LSP into the "ASBR13_to_PE11_gold" LSP to traverse the last
domain, thus satisfying Gold SLA end-to-end. domain, thus satisfying Gold SLA end-to-end.
When PE25 receives service routes from RR26 with next hop 192.0.2.11 When PE25 receives service routes from RR26 with next hop 192.0.2.11
and mapping community Color:0:100, it resolves over this BGP CT route and mapping community Color:0:100, it resolves over this BGP CT route
192.0.2.11:100:192.0.2.11. Thus, pushing label B-L5, and pushing as 192.0.2.11:100:192.0.2.11. Thus, pushing label B-L5 and pushing as
top label the labels associated with PE25_to_ABR23_gold tunnel. the top label the labels associated with PE25_to_ABR23_gold tunnel.
8.4. Data Plane View 8.4. Data Plane View
8.4.1. Steady State 8.4.1. Steady State
This section describes how the data plane looks in steady state. This section describes how the data plane looks in steady state.
CE41 transmits an IP packet with destination as 203.0.113.31. On CE41 transmits an IP packet with the destination 203.0.113.31. On
receiving this packet, PE25 performs a lookup in the IP FIB receiving this packet, PE25 performs a lookup in the IP FIB
associated with the CE41 interface. This lookup yields the service associated with the CE41 interface. This lookup yields the service
route that pushes the VPN service label V-L1, BGP CT label B-L5, and route that pushes the VPN service label V-L1, BGP CT label B-L5, and
labels for PE25_to_ABR23_gold tunnel. Thus, PE25 encapsulates the IP labels for PE25_to_ABR23_gold tunnel. Thus, PE25 encapsulates the IP
packet in an MPLS packet with label V-L1 (innermost), B-L5, and top packet in an MPLS packet with labels V-L1 (innermost), B-L5, and top
label as PE25_to_ABR23_gold tunnel. This MPLS packet is thus label PE25_to_ABR23_gold tunnel. This MPLS packet is thus
transmitted to ABR23 using Gold SLA. transmitted to ABR23 using the Gold SLA.
ABR23 decapsulates the packet received on PE25_to_ABR23_gold tunnel ABR23 decapsulates the packet received on PE25_to_ABR23_gold tunnel
as required, and finds the MPLS packet with label B-L5. It performs as required and finds the MPLS packet with label B-L5. It performs a
a lookup for label B-L5 in the global MPLS FIB. This yields the lookup for label B-L5 in the global MPLS FIB. This yields the route
route that swaps label B-L5 with label B-L4, and pushes the top label that swaps label B-L5 with label B-L4 and pushes the top label
provided by ABR23_to_ASBR22_gold tunnel. Thus, ABR23 transmits the provided by ABR23_to_ASBR22_gold tunnel. Thus, ABR23 transmits the
MPLS packet with label B-L4 to ASBR22, on a tunnel that satisfies MPLS packet with label B-L4 to ASBR22 on a tunnel that satisfies the
Gold SLA. Gold SLA.
ASBR22 similarly performs a lookup for label B-L4 in global MPLS FIB, ASBR22 similarly performs a lookup for label B-L4 in the global MPLS
finds the route that swaps label B-L4 with label B-L2, and forwards FIB, finds the route that swaps label B-L4 with label B-L2, and
to ASBR13 over the directly connected MPLS-enabled interface. This forwards it to ASBR13 over the directly connected MPLS-enabled
interface is a common resource not dedicated to any specific interface. This interface is a common resource not dedicated to any
transport class, in this example. specific transport class, in this example.
ASBR13 receives the MPLS packet with label B-L2, and performs a ASBR13 receives the MPLS packet with label B-L2 and performs a lookup
lookup in MPLS FIB, finds the route that pops label B-L2, and pushes in the MPLS FIB, finds the route that pops label B-L2, and pushes
labels associated with ASBR13_to_PE11_gold tunnel. This transmits labels associated with ASBR13_to_PE11_gold tunnel. This transmits
the MPLS packet with VPN label V-L1 to PE11 using a tunnel that the MPLS packet with VPN label V-L1 to PE11 using a tunnel that
preserves Gold SLA in AS 1. preserves the Gold SLA in AS 1.
PE11 receives the MPLS packet with V-L1, and performs VPN forwarding. PE11 receives the MPLS packet with V-L1 and performs VPN forwarding,
Thus transmitting the original IP payload from CE41 to CE31. The thus transmitting the original IP payload from CE41 to CE31. The
payload has traversed path satisfying Gold SLA end-to-end. payload has traversed path satisfying the Gold SLA end-to-end.
8.4.2. Local Repair of Primary Path 8.4.2. Local Repair of Primary Path
This section describes how the data plane at ASBR22 reacts when the This section describes how the data plane at ASBR22 reacts when the
link between ASBR22 and ASBR13 experiences a failure, and an link between ASBR22 and ASBR13 experiences a failure and an alternate
alternate path exists. path exists.
Assuming ASBR22_to_ASBR13 link goes down, such that traffic with Gold Assuming the ASBR22_to_ASBR13 link goes down, traffic with a Gold SLA
SLA going to PE11 needs repair. ASBR22 has an alternate BGP CT route going to PE11 will need repair. ASBR22 has an alternate BGP CT route
for 192.0.2.11:100:192.0.2.11 from ASBR14. This has been for 192.0.2.11:100:192.0.2.11 from ASBR14. This has been
preprogrammed in forwarding by ASBR22 as FRR backup next hop for preprogrammed in forwarding by ASBR22 as an FRR backup next hop for
label B-L4. This allows the Gold SLA traffic to be locally repaired label B-L4. This allows the Gold SLA traffic to be locally repaired
at ASBR22 without the failure event propagated in the BGP CT network. at ASBR22 without the failure event propagated in the BGP CT network.
In this case, ingress node PE25 will not know there was a failure, In this case, ingress node PE25 will not know there was a failure,
and traffic restoration will be independent of prefix scale (PIC). and traffic restoration will be independent of prefix scale (PIC).
8.4.3. Absorbing Failure of Primary Path: Fallback to Best Effort 8.4.3. Absorbing Failure of the Primary Path: Fallback to Best-Effort
Tunnels Tunnels
This section describes how the data plane reacts when a Gold path This section describes how the data plane reacts when a Gold path
experiences a failure, but no alternate path exists. experiences a failure but no alternate path exists.
Assume tunnel ABR23_to_ASBR22_gold goes down, such that now no end- Assume tunnel ABR23_to_ASBR22_gold goes down, such that now no end-
to-end Gold path exists in the network. This makes the BGP CT route to-end Gold path exists in the network. This makes the BGP CT route
for RD prefix 192.0.2.11:100:192.0.2.11 is unusable at ABR23. This for RD prefix 192.0.2.11:100:192.0.2.11 unusable at ABR23. This
makes ABR23 send a BGP withdrawal for 192.0.2.11:100:192.0.2.11 to makes ABR23 send a BGP withdrawal for 192.0.2.11:100:192.0.2.11 to
PE25. PE25.
The withdrawal for 192.0.2.11:100:192.0.2.11 allows PE25 to react to The withdrawal for 192.0.2.11:100:192.0.2.11 allows PE25 to react to
the loss of the Gold path to 192.0.2.11. Assuming PE25 is the loss of the Gold path to 192.0.2.11. Assuming PE25 is
provisioned to use best effort transport class as the backup path, provisioned to use a best-effort transport class as the backup path,
this withdrawal of BGP CT route allows PE25 to adjust the next hop of this withdrawal of a BGP CT route allows PE25 to adjust the next hop
the VPN Service-route to push the labels provided by the BGP LU of the VPN Service-route to push the labels provided by the BGP LU
route. That repairs the traffic to go via the best effort path. route. That repairs the traffic to go via the best-effort path.
PE25 can also be provisioned to use Bronze transport class as the PE25 can also be provisioned to use the Bronze transport class as the
backup path. The repair will happen in similar manner in that case backup path. The repair will happen in similar manner in that case
as-well. as well.
Traffic repair to absorb the failure happens at ingress node PE25, in Traffic repair to absorb the failure happens at ingress node PE25 in
a service prefix scale independent manner. This is called PIC. The a service prefix scale independent manner (PIC). The repair time
repair time will be proportional to time taken for withdrawing the will be proportional to time taken for withdrawing the BGP CT route.
BGP CT route.
These examples demonstrate the various levels of failsafe mechanisms These examples demonstrate the various levels of failsafe mechanisms
available to protect traffic in a BGP CT network. available to protect traffic in a BGP CT network.
9. Scaling Considerations 9. Scaling Considerations
9.1. Avoiding Unintended Spread of BGP CT Routes Across Domains 9.1. Avoiding Unintended Spread of BGP CT Routes Across Domains
[RFC8212] suggests BGP speakers require explicit configuration of [RFC8212] suggests BGP speakers require explicit configuration of
both BGP Import and Export Policies in order to receive or send both BGP Import and Export Policies in order to receive or send
routes over EBGP sessions. routes over EBGP sessions.
It is recommended to follow this for BGP CT routes. It will It is recommended to follow this for BGP CT routes. It will prohibit
prohibit unintended advertisement of transport routes throughout unintended advertisement of transport routes throughout the BGP CT
the BGP CT transport domain, which may span across multiple AS transport domain, which may span across multiple AS domains. This
domains. This will conserve usage of MPLS label and next hop will conserve usage resources for MPLS labels and next hops in the
resources in the network. An ASBR of a domain can be provisioned network. An ASBR of a domain can be provisioned to allow routes with
to allow routes with only the Transport Route Targets that are only the Transport Route Targets that are required by SNs in the
required by SNs in the domain. domain.
9.2. Constrained Distribution of PNHs to SNs (On-Demand Next Hop) 9.2. Constrained Distribution of PNHs to SNs (On-Demand Next Hop)
This section describes how the number of Protocol Next hops This section describes how the number of Protocol Next Hops (PNHs)
advertised to a SN or BN can be constrained using BGP Classful advertised to an SN or BN can be constrained using BGP Classful
Transport and Route Target Constrain (RTC) [RFC4684]. Transport and RTC (see [RFC4684].
An egress SN MAY advertise a BGP CT route for RD:eSN with two An egress SN MAY advertise a BGP CT route for RD:eSN with two Route
Route Targets: transport-target:0:<TC> and a RT carrying Targets: transport-target:0:<TC> and an RT carrying <eSN>:<TC>, where
<eSN>:<TC>, where TC is the Transport Class identifier, and eSN is TC is the Transport Class identifier and eSN is the IP address used
the IP address used by SN as BGP next hop in its service route by the SN as BGP next hop in its service route advertisements.
advertisements.
Note that such use of the IP address specific route target Note that such use of the IP-address-specific route target <eSN>:<TC>
<eSN>:<TC> is optional in a BGP CT network. It is required only is optional in a BGP CT network. It is required only if there is a
if there is a requirement to prune the propagation of the requirement to prune the propagation of the transport route for an
transport route for an egress node eSN to only the set of ingress egress node eSN to only the set of ingress nodes that need it. When
nodes that need it. When only RT of transport-target:0:<TC> is only the RT of transport-target:0:<TC> is used, the pruning happens
used, the pruning happens in granularity of Transport Class ID in granularity of Transport Class ID (Color), not BGP next hop; a BGP
(Color), and not BGP next hop; a BGP CT route will only be CT route will only be advertised into a domain with at least one PE
advertised into a domain with at least one PE that imports its that imports its transport class.
transport class.
The transport-target:0:<TC> is the new type of route target The transport-target:0:<TC> is the new type of route target
(Transport Class RT) defined in this document. It is carried in (Transport Class RT) defined in this document. It is carried in the
BGP extended community attribute (BGP attribute code 16). BGP extended community attribute (BGP attribute code 16).
The RT carrying <eSN>:<TC> MAY be an IP-address specific regular The RT carrying <eSN>:<TC> MAY be an IP-address-specific regular RT
RT (BGP attribute code 16), or IPv6-address specific RT (BGP (BGP attribute code 16), or IPv6-address specific RT (BGP attribute
attribute code 25). It should be noted that the Local code 25). It should be noted that the Local Administrator field of
Administrator field of these RTs can only carry two octets of these RTs can only carry two octets of information; thus, the <TC>
information, and thus the <TC> field in this approach is limited field in this approach is limited to a 2-octet value. Future
to a 2 octets value. Future protocol extensions work is needed to protocol extension work is needed to define a BGP CCA that can
define a BGP CCA that can accomodate an IPv4/IPv6 address along accomodate an IPv4/IPv6 address along with a 4-octet Local
with a 4 octet Local Administrator field. Administrator field.
An ingress SN MAY import BGP CT routes with Route Target carrying An ingress SN MAY import BGP CT routes with a Route Target carrying
<eSN>:<TC>. The ingress SN may learn the eSN values either by <eSN>:<TC>. The ingress SN may learn the eSN values by configuration
configuration, or it may discover them from the BGP next hop field or it may discover them from the BGP next hop field in the BGP VPN
in the BGP VPN service routes received from eSN. A BGP ingress SN service routes received from the eSN. A BGP ingress SN receiving a
receiving a BGP service route with next hop of eSN generates a RTC BGP service route with a next hop of eSN generates an RTC route for
route for Route Target prefix <Origin ASN>:<eSN>/[80|176] in order Route Target prefix <Origin ASN>:<eSN>/[80|176] in order to learn BGP
to learn BGP CT transport routes to reach eSN. This allows CT transport routes to reach eSN. This allows constrained
constrained distribution of the transport routes to the PNHs distribution of the transport routes to the PNHs actually required by
actually required by iSN. iSN.
When RTC is in use as described here, BGP CT routes will be When RTC is in use, as described here, BGP CT routes will be
constrained to follow the same path of propagation as the RTC constrained to follow the same path of propagation as the RTC routes.
routes. Therefore, a BN would learn the RTC routes advertised by Therefore, a BN would learn the RTC routes advertised by ingress SNs
ingress SNs and propagate further. This will allow constraining and propagate further. This will allow constraining distribution of
distribution of BGP CT routes for a PNH to only the necessary BNs BGP CT routes for a PNH to only the necessary BNs in the network,
in the network, closer to the egress SN. closer to the egress SN.
When the path of route propagation of BGP CT routes is the same as When the path of route propagation of BGP CT routes is the same as
the RTC routes, a BN would learn the RTC routes advertised by the RTC routes, a BN would learn the RTC routes advertised by ingress
ingress SNs and propagate further. This will allow constraining SNs and propagate further. This will allow constraining distribution
distribution of BGP CT routes for a PNH to only the necessary BNs of BGP CT routes for a PNH to only the necessary BNs in the network,
in the network, closer to the egress SN. closer to the egress SN.
This mechanism provides "On Demand Next hop" of BGP CT routes, This mechanism provides "On-Demand Next Hop" of BGP CT routes, which
which help with the scaling of MPLS forwarding state at SN and BN. helps with the scaling of MPLS forwarding state at the SN and BN.
However, the amount of state carried in RTC family may become However, the amount of state carried in RTC family may become
proportional to the number of PNHs in the network. To strike a proportional to the number of PNHs in the network. To strike a
balance, the RTC route advertisements for <Origin balance, the RTC route advertisements for <Origin ASN>:<eSN>/[80|176]
ASN>:<eSN>/[80|176] MAY be confined to the BNs in the home region MAY be confined to the BNs in the home region of an ingress SN, or
of an ingress SN, or the BNs of a super core. the BNs of a super core.
Such a BN in the core of the network imports BGP CT routes with Such a BN in the core of the network imports BGP CT routes with
Transport-Target:0:<TC> and generates an RTC route for <Origin Transport-Target:0:<TC> and generates an RTC route for <Origin
ASN>:0:<TC>/96, while not propagating the more specific RTC ASN>:0:<TC>/96, while not propagating the more specific RTC requests
requests for specific PNHs. This lets the BN learn transport for specific PNHs. This lets the BN learn transport routes to all
routes to all eSN nodes but confine their propagation to ingress eSN nodes but confines their propagation to ingress SNs.
SNs.
9.3. Limiting The Visibility Scope of PE Loopback as PNHs 9.3. Limiting the Visibility Scope of PE Loopback as PNHs
It may be even more desirable to limit the number of PNHs that are It may be even more desirable to limit the number of PNHs that are
globally visible in the network. This is possible using mechanism globally visible in the network. This is possible using the
described in Appendix D, such that advertisement of PE loopback mechanism described in Appendix D, such that advertisement of PE
addresses as next-hop in BGP service routes is confined to the loopback addresses as next hops in BGP service routes is confined to
region they belong to. An anycast IP-address called "Context the region they belong to. An anycast IP address called a "Context
Protocol Nexthop Address" (CPNH) abstracts the SNs in a region Protocol Nexthop" (or "CPNH") address abstracts the SNs in a region
from other regions in the network. from other regions in the network.
Such that advertisement of PE loopback addresses as next-hop in Such that advertisement of PE loopback addresses as next hop in BGP
BGP service routes is confined to the region they belong to. An service routes is confined to the region they belong to. An anycast
anycast IP-address called "Context Protocol Nexthop Address" IP-address called "Context Protocol Nexthop Address" (CPNH) abstracts
(CPNH) abstracts the SNs in a region from other regions in the the SNs in a region from other regions in the network.
network.
This provides much greater advantage in terms of scaling, This provides much greater advantage in terms of scaling, convergence
convergence and security. Changes to implement this feature are and security. Changes to implement this feature are required only on
required only on the local region's BNs and RRs, so legacy PE the local region's BNs and RRs, so legacy PE devices can also benefit
devices can also benefit from this approach. from this approach.
10. Operations and Manageability Considerations 10. Operations and Manageability Considerations
10.1. MPLS OAM 10.1. MPLS OAM
MPLS OAM procedures specified in [RFC8029] also apply to BGP Classful MPLS Operations, Administration, and Maintenance (OAM) procedures
Transport. specified in [RFC8029] also apply to BGP Classful Transport.
The 'Target FEC Stack' sub-TLV for IPv4 Classful Transport has a Sub- The Target FEC Stack sub-TLV for IPv4 Classful Transport has a Sub-
Type of 31744, and a length of 13. The Value field consists of the Type of 31744 and a length of 13. The Value field consists of the RD
RD advertised with the Classful Transport prefix, the IPv4 prefix advertised with the Classful Transport prefix, the IPv4 prefix (with
(with trailing 0 bits to make 32 bits in all) and a prefix length trailing 0 bits to make 32 bits in all), and a prefix length encoded
encoded as shown in Figure 4. as shown in Figure 4.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Route Distinguisher | | Route Distinguisher |
| (8 octets) | | (8 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 prefix | | IPv4 prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length | Must Be Zero | | Prefix Length | Must Be Zero |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Classful Transport IPv4 FEC Figure 4: Classful Transport IPv4 FEC
The 'Target FEC Stack' sub-TLV for IPv6 Classful Transport has a Sub- The Target FEC Stack sub-TLV for IPv6 Classful Transport has a Sub-
Type of 31745, and a length of 25. The Value field consists of the Type of 31745 and a length of 25. The Value field consists of the RD
RD advertised with the Classful Transport prefix, the IPv6 prefix advertised with the Classful Transport prefix, the IPv6 prefix (with
(with trailing 0 bits to make 128 bits in all) and a prefix length trailing 0 bits to make 128 bits in all) and a prefix length encoded
encoded as shown in Figure 5. as shown in Figure 5.
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Route Distinguisher | | Route Distinguisher |
| (8 octets) | | (8 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 prefix | | IPv6 prefix |
| | | |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Prefix Length | Must Be Zero | | Prefix Length | Must Be Zero |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 5: Classful Transport IPv6 FEC Figure 5: Classful Transport IPv6 FEC
These prefix layouts are inherited from Sections 3.2.5, 3.2.6 in These prefix layouts are inherited from Sections 3.2.5 and 3.2.6 of
[RFC8029] [RFC8029].
10.2. Usage of Route Distinguisher and Label Allocation Modes 10.2. Usage of RD and Label-Allocation Modes
RDs aid in troubleshooting provider networks that deploy BGP CT, by RDs aid in troubleshooting provider networks that deploy BGP CT, by
uniquely identifying the originator of a route across an uniquely identifying the originator of a route across an
administrative domain that may either span multiple domains within a administrative domain that may either span multiple domains within a
provider network or span closely coordinated provider networks. provider network or span closely coordinated provider networks.
The use of RDs also provides an option for signaling forwarding The use of RDs also provides an option for signaling forwarding
diversity within the same Transport Class. A SN can advertise an EP diversity within the same Transport Class. An SN can advertise an EP
with the same Transport Class in multiple BGP CT routes with unique with the same Transport Class in multiple BGP CT routes with unique
RDs. RDs.
For example, unique "RDx:EP1" prefixes can be advertised by an SN for For example, unique "RDx:EP1" prefixes can be advertised by an SN for
an EP1 to different upstream BNs with unique forwarding specific an EP1 to different upstream BNs with unique forwarding-specific
encapsulation (e.g., Label), in order to collect traffic statistics encapsulation (e.g., a Label) in order to collect traffic statistics
at the SN for each BN. In absence of RD, duplicated Transport Class/ at the SN for each BN. In the absence of an RD, duplicated Transport
Color values will be needed in the transport network to achieve such Class / Color values will be needed in the transport network to
use cases. achieve such use cases.
The allocation of RDs is done at the point of origin of the BGP CT The allocation of RDs is done at the point of origin of the BGP CT
route. This can either be an Egress SN or a BN. The default RD route. This can be either an Egress SN or a BN. The default RD
allocation mode is to use a unique RD per originating node for an EP. allocation mode is to use a unique RD per originating node for an EP.
This mode allows for the ingress to uniquely identify each originated This mode allows for the ingress to uniquely identify each originated
path. Alternatively, the same RD may be provisioned for multiple path. Alternatively, the same RD may be provisioned for multiple
originators of the same EP. This mode can be used when the ingress originators of the same EP. This mode can be used when the ingress
does not require full visibility of all nodes originating an EP. does not require full visibility of all nodes originating an EP.
A label is allocated for a BGP CT route when it is advertised with A label is allocated for a BGP CT route when it is advertised with
next hop self by a SN or a BN. An implementation may use different the next hop set to itself by an SN or a BN. An implementation may
label allocation modes with BGP CT. The recommended label allocation use different label-allocation modes with BGP CT. Per-prefix is the
mode is per-prefix as it provides better traffic convergence recommended label-allocation mode as it provides better traffic
properties than per-next hop label allocation mode. Furthermore, BGP convergence properties than a per-NH label-allocation mode.
CT offers two flavors for per-prefix label allocation. The first Furthermore, BGP CT offers two flavors for per-prefix label
flavor assigns a label for each unique "RD, EP". The second flavor allocation:
assigns a label for each unique "Transport Class, EP" while ignoring
the RD. * The first flavor assigns a label for each unique "RD, EP".
* The second flavor assigns a label for each unique "Transport
Class, EP" while ignoring the RD.
In a BGP CT network, the number of routes at an Ingress PE is a In a BGP CT network, the number of routes at an Ingress PE is a
function of unique EPs multiplied by BNs in the ingress domain that function of unique EPs multiplied by BNs in the ingress domain that
do next hop self. BGP CT provides flexible RD and Label allocation have the next hop set to themselves. BGP CT provides flexible RD and
modes to address operational requirements in a multi-domain network. label-allocation modes to address operational requirements in a
The impacts on the control plane and forwarding behavior for these multi-domain network. The impacts on the control plane and
modes are detailed with an example in Managing Transport Route forwarding behavior for these modes are detailed with an example in
Visibility (Section 10.3) Section 10.3.
10.3. Managing Transport Route Visibility 10.3. Managing Transport-Route Visibility
This section details the usage of BGP CT RD and label allocation This section details the usage of BGP CT RD and label-allocation
modes to calibrate the level of path visibility and the amount of modes to calibrate the level of path visibility and the amount of
route and label scale in a multi-domain network. route and label scale in a multi-domain network.
Consider a multi-domain BGP CT network as illustrated in the Consider a multi-domain BGP CT network as illustrated in the
following Figure 6: following Figure 6:
...................... ............................. ...................... .............................
: AS3 : : AS1 : : AS3 : : AS1 :
: : : : : : : :
: +----------ASBR11 +--PE11 (EP1) : : +----------ASBR11 +--PE11 (EP1) :
skipping to change at page 42, line 28 skipping to change at line 1932
: | +----------ASBR21 +--PE21 (EP5) : : | +----------ASBR21 +--PE21 (EP5) :
: | | : : \ / : : | | : : \ / :
: +----ASBR32 : : [P]----PE22 (EP6) : : +----ASBR32 : : [P]----PE22 (EP6) :
: | : : / | \ : : | : : / | \ :
: +----------ASBR22 | +--PE22 (EP7) : : +----------ASBR22 | +--PE22 (EP7) :
: : : | : : : : | :
: : : +-----PE24 (EP8) : : : : +-----PE24 (EP8) :
...................... ............................. ...................... .............................
----------- Traffic Direction --------> ----------- Traffic Direction -------->
Figure 6: Managing Transport Route Visibility in Multi Domain Network Figure 6: Managing Transport-Route Visibility in Multi-Domain
Networks
The following table provides a comparison of the BGP CT route and The following table provides a comparison of the BGP CT route and
label scale, for varying endpoint path visibility at ingress node label scale for varying endpoint-path visibility at ingress node PE31
PE31 for each TC. It analyzes scenarios where Unicast or Anycast EPs for each TC. It analyzes scenarios where Unicast or Anycast EPs (EP-
(EP-type) may be originated by different node roles (Origin), using type) may be originated by different node roles (Origin), using
different RD allocation modes (RD-Mode), and different Per-Prefix different RD allocation modes (RD-Modes), and different Per-Prefix
Label allocation modes (PP-Mode). label-allocation modes (PP-Modes).
+--------+------+-------+-------+---------+---------+ +--------+------+-------+-------+---------+---------+
|EP-type |Origin|RD-Mode|PP-Mode|CT Routes|CT Labels| |EP-type |Origin|RD-Mode|PP-Mode|CT Routes|CT Labels|
+--------+------+-------+-------+---------+---------+ +--------+------+-------+-------+---------+---------+
|Unicast |SN |Unique |TC,EP | 8 | 8 | |Unicast |SN |Unique |TC,EP | 8 | 8 |
|Unicast |SN |Unique |RD,EP | 8 | 8 | |Unicast |SN |Unique |RD,EP | 8 | 8 |
|Unicast |BN |Unique |TC,EP | 16 | 8 | |Unicast |BN |Unique |TC,EP | 16 | 8 |
|Unicast |BN |Unique |RD,EP | 16 | 16 | |Unicast |BN |Unique |RD,EP | 16 | 16 |
|--------|------|-------|-------|---------|---------| |--------|------|-------|-------|---------|---------|
|Anycast |SN |Unique |TC,EP | 8 | 2 | |Anycast |SN |Unique |TC,EP | 8 | 2 |
skipping to change at page 43, line 25 skipping to change at line 1962
|Anycast |SN |Same |TC,EP | 2 | 2 | |Anycast |SN |Same |TC,EP | 2 | 2 |
|Anycast |SN |Same |RD,EP | 2 | 2 | |Anycast |SN |Same |RD,EP | 2 | 2 |
|Anycast |BN |Unique |TC,EP | 4 | 2 | |Anycast |BN |Unique |TC,EP | 4 | 2 |
|Anycast |BN |Unique |RD,EP | 4 | 4 | |Anycast |BN |Unique |RD,EP | 4 | 4 |
|Anycast |BN |Same |TC,EP | 2 | 2 | |Anycast |BN |Same |TC,EP | 2 | 2 |
|Anycast |BN |Same |RD,EP | 2 | 2 | |Anycast |BN |Same |RD,EP | 2 | 2 |
+--------+------+-------+-------+---------+---------+ +--------+------+-------+-------+---------+---------+
Figure 7: Route and Path Visibility at Ingress Node Figure 7: Route and Path Visibility at Ingress Node
In the table shown in Figure 7, route scale at ingress node PE31 is In Figure 7, route scale at ingress node PE31 is proportional to path
proportional to path diversity in ingress domain (number of ASBRs) diversity in the ingress domain (number of ASBRs) and point of
and point of origination of BGP CT route. TE granularity at ingress origination of the BGP CT route. TE granularity at ingress node PE31
node PE31 is proportional to the number of unique CT labels received, is proportional to the number of unique CT labels received, which
which depends on PP-mode and the path diversity in ingress domain. depends on the PP-Mode and the path diversity in the ingress domain.
Deploying unique RDs is strongly RECOMMENDED because it helps in Deploying unique RDs is strongly RECOMMENDED because it helps in
troubleshooting by uniquely identifying the originator of a route and troubleshooting by uniquely identifying the originator of a route and
avoids path-hiding. avoids path hiding.
In typical deployments originating BGP CT routes at the egress node In typical deployments, originating BGP CT routes at the egress node
(SN) is recommended. In this model, using either "RD, EP" or "TC, (SN) is recommended. In this model, using either an "RD, EP" or "TC,
EP" Per-Prefix label allocation mode repairs traffic locally at the EP" Per-Prefix label-allocation mode repairs traffic locally at the
nearest BN for any failures in the network, because the label value nearest BN for any failures in the network because the label value
does not change. does not change.
Originating at BNs with unique RDs induces more routes than when Originating at BNs with unique RDs induces more routes than when
originating at egress SNs. In this model, use of "TC, EP" Per-Prefix originating at egress SNs. In this model, use of the "TC, EP" Per-
label allocation mode repairs traffic locally at the nearest BN for Prefix label-allocation mode repairs traffic locally at the nearest
any failures in the network, because the label value does not change. BN for any failures in the network because the label value does not
change.
The previous table in Figure 7 demonstrates that BGP CT allows an Figure 7 demonstrates that BGP CT allows an operator to control how
operator to control how much path visibility and forwarding diversity much path visibility and forwarding diversity is desired in the
is desired in the network, for both Unicast and Anycast endpoints. network for both Unicast and Anycast endpoints.
11. Deployment Considerations. 11. Deployment Considerations
11.1. Coordination Between Domains Using Different Community Namespaces 11.1. Coordination Between Domains Using Different Community Namespaces
Cooperating Inter-AS Option C domains may sometimes not agree on RT, Cooperating Inter-AS Option C domains may sometimes not agree on RT,
RD, Mapping community or Transport Route Target values because of RD, Mapping community, or Transport Route Target values because of
differences in community namespaces (e.g. during network mergers or differences in community namespaces (e.g., during network mergers or
renumbering for expansion). Such deployments may deploy mechanisms renumbering for expansion). Such deployments may deploy mechanisms
to map and rewrite the Route Target values on domain boundaries, to map and rewrite the Route Target values on domain boundaries using
using per ASBR import policies. This is no different than any other per-ASBR import policies. This is no different than any other BGP
BGP VPN family. Mechanisms used in inter-AS VPN deployments may be VPN family. Mechanisms used in inter-AS VPN deployments may be
leveraged with the Classful Transport family also. leveraged with the Classful Transport family also.
A resolution scheme allows association with multiple Mapping A resolution scheme allows association with multiple Mapping
Communities. This minimizes service disruption during renumbering, Communities. This minimizes service disruption during renumbering,
network merger or transition scenarios. network merger, or transition scenarios.
The Transport Class Route Target Extended Community is useful to The Transport Class Route Target extended community is useful to
avoid collision with regular Route Target namespace used by service avoid collision with regular Route Target namespace used by service
routes. routes.
11.2. Managing Intent at Service and Transport layers. 11.2. Managing Intent at Service and Transport Layers
Illustration of BGP CT Procedures (Section 8) shows multiple domains Section 8 shows multiple domains that agree on a color namespace
that agree on a color name space (Agreeing Color Domains) and contain (Agreeing Color Domains) and contain tunnels with an equivalent set
tunnels with equivalent set of colors (Homogenous Color Domains). of colors (Homogenous Color Domains).
However, in the real world, this may not always be guaranteed. Two However, in the real world, this may not always be guaranteed. Two
domains may independently manage their color namespaces; these are domains may independently manage their color namespaces; these are
known as Non-Agreeing Color Domains. Two domains may have tunnels known as Non-Agreeing Color Domains. Two domains may have tunnels
with unequal sets of colors; these are known as Heterogeneous Color with unequal sets of colors; these are known as Heterogeneous Color
Domains. Domains.
This section describes how BGP CT is deployed in such scenarios to This section describes how BGP CT is deployed in such scenarios to
preserve end-to-end Intent. Examples described in this section use preserve end-to-end Intent. Examples described in this section use
Inter-AS Option C domains. Similar mechanisms will work for Inter-AS Inter-AS Option C domains. Similar mechanisms will work for Inter-AS
Option A and Inter-AS Option B scenarios as well. Option A and Inter-AS Option B scenarios as well.
11.2.1. Service Layer Color Management 11.2.1. Service-Layer Color Management
At the service layer, it is recommended that a global color namespace At the service layer, it is recommended that a global color namespace
be maintained across multiple co-operating domains. BGP CT allows be maintained across multiple cooperating domains. BGP CT allows
indirection using resolution schemes to be able to maintain a global indirection using resolution schemes to be able to maintain a global
namespace in the service layer. This is possible even if each domain namespace in the service layer. This is possible even if each domain
independently maintains its own local transport color namespace. independently maintains its own local transport color namespace.
As explained in Next Hop Resolution Scheme (Section 5) , a mapping As explained in Section 5, a mapping community carried on a service
community carried on a service route maps to a resolution scheme. route maps to a resolution scheme. The mapping community values for
The mapping community values for the service route can be abstract the service route can be abstract and are not required to match the
and are not required to match the transport color namespace. This transport color namespace. This abstract mapping community value
abstract mapping community value representing a global service layer representing a global service-layer intent is mapped to a local
intent is mapped to a local transport layer intent available in each transport-layer intent available in each domain.
domain.
In this manner, it is recommended to keep color namespace management In this manner, it is recommended to keep color namespace management
at the service layer and the transport layer decoupled from each at the service layer and the transport layer decoupled from each
other. In the following sections the service layer agrees on a other. In the following sections, the service layer agrees on a
single global namespace. single global namespace.
11.2.2. Non-Agreeing Color Transport Domains 11.2.2. Non-Agreeing Color Transport Domains
Non-agreeing color domains require a mapping community rewrite on Non-Agreeing Color Domains require a mapping community rewrite on
each domain boundary. This rewrite helps to map one domain's color each domain boundary. This rewrite helps to map one domain's color
namespace to another domain's color namespace. namespace to another domain's color namespace.
The following example illustrates how traffic is stitched and SLA is The following example illustrates how traffic is stitched and SLA is
preserved when domains don't use the same namespace at the transport preserved when domains don't use the same namespace at the transport
layer. Each domain specifies the same SLA using different color layer. Each domain specifies the same SLA using different color
values. values.
..................... ....................... ...................... ..................... ....................... ......................
: Gold(100) : : Gold(300) : : Gold(500) : : Gold(100) : : Gold(300) : : Gold(500) :
: : : : : : : : : : : :
: [PE11]----[ASBR11]---[ASBR21------[ASBR22]---[ASBR31-------[PE31]: : [PE11]----[ASBR11]---[ASBR21------[ASBR22]---[ASBR31-------[PE31]:
: : : : : : : : : : : :
: AS1 : : AS2 : : AS3 : : AS1 : : AS2 : : AS3 :
: : : : : : : : : : : :
: Bronze(200) : : Bronze(400) : : Bronze(600) : : Bronze(200) : : Bronze(400) : : Bronze(600) :
..................... ....................... ...................... ..................... ....................... ......................
----------- Traffic Direction --------> ----------- Traffic Direction -------->
Figure 8: Transport Layer with Non-agreeing Color Domains Figure 8: Transport Layer with Non-Agreeing Color Domains
In the topology shown in Figure 8, we have three Autonomous Systems. In the topology shown in Figure 8, we have three Autonomous Systems.
All the nodes in the topology support BGP CT. All the nodes in the topology support BGP CT.
In AS1 Gold SLA is represented by color 100 and Bronze by 200. * In AS1, the Gold SLA is represented by color 100 and Bronze by
200.
In AS2 Gold SLA is represented by color 300 and Bronze by 400. * In AS2, the Gold SLA is represented by color 300 and Bronze by
400.
In AS3 Gold SLA is represented by color 500 and Bronze by 600. * In AS3, the Gold SLA is represented by color 500 and Bronze by
600.
Though the color values are different, they map to tunnels with Though the color values are different, they map to tunnels with
sufficiently similar TE characteristics in each domain. sufficiently similar TE characteristics in each domain.
The service route carries an abstract mapping community that maps to The service route carries an abstract mapping community that maps to
the required SLA. For example, Service routes that need to resolve the required SLA. For example, service routes that need to resolve
over Gold transport tunnels, carry a mapping community over Gold transport tunnels carry a mapping community color:0:100500.
color:0:100500. In AS3 it maps to a resolution scheme containing In AS3, it maps to a resolution scheme containing a TRDB with color
TRDB with color 500 whereas in AS2 it maps to a TRDB with color 300 500; in AS2, it maps to a TRDB with color 300; and in AS1, it maps to
and in AS1 it maps to a TRDB with color 100. Coordination is needed a TRDB with color 100. Coordination is needed to provision the
to provision the resolution schemes in each domain as explained resolution schemes in each domain, as explained previously.
previously.
At the AS boundary, the transport-class route-target is rewritten for At the AS boundary, the transport-class route-target is rewritten for
the BGP CT routes. In the previous topology, at ASBR31, the the BGP CT routes. In the previous topology, at ASBR31, the
transport-target:0:500 for Gold tunnels is rewritten to transport- transport-target:0:500 for Gold tunnels is rewritten to transport-
target:0:300 and then advertised to ASBR22. Similarly, the target:0:300 and then advertised to ASBR22. Similarly, the
transport-target:0:300 for Gold tunnels are re-written to transport- transport-target:0:300 for Gold tunnels are rewritten to transport-
target:0:100 at ASBR21 before advertising to ASBR11. At PE11, the target:0:100 at ASBR21 before advertising to ASBR11. At PE11, the
transport route received with transport-target:0:100 will be added to transport route received with transport-target:0:100 will be added to
the color 100 TRDB. The service route received with mapping the color 100 TRDB. The service route received with mapping
community color:0:100500 at PE1 maps to the Gold TRDB and resolves community color:0:100500 at PE1 maps to the Gold TRDB and resolves
over this transport route. over this transport route.
Inter-domain traffic forwarding in the previous topology works as Inter-domain traffic forwarding in the previous topology works as
explained in Section 8. explained in Section 8.
Transport-target re-write requires co-ordination of color values Transport-target rewrite requires coordination of color values
between domains in the transport layer. This method avoids the need between domains in the transport layer. This method avoids the need
to re-write service route mapping communities, keeping the service to rewrite service route mapping communities, keeping the service
layer homogenous and simple to manage. Coordinating Transport Class layer homogenous and simple to manage. Coordinating Transport Class
RT between two adjacent color domains at a time is easier than RT between two adjacent color domains at a time is easier than
coordinating service layer colors deployed in a global mesh of non- coordinating service-layer colors deployed in a global mesh of non-
adjacent color domains. This basically allows localizing the problem adjacent color domains. This basically allows localizing the problem
to a pair of adjacent color domains and solving it. to a pair of adjacent color domains and solving it.
11.2.3. Heterogeneous Agreeing Color Transport Domains 11.2.3. Heterogeneous Agreeing Color Transport Domains
In a heterogeneous domains scenario, it might not be possible to map In a heterogeneous-domain scenario, it might not be possible to map a
a service layer intent to the matching transport color, as the color service-layer intent to the matching transport color, as the color
might not be locally available in a domain. might not be locally available in a domain.
The following example illustrates how traffic is stitched, when a The following example illustrates how traffic is stitched when a
transit AS contains more shades for an SLA path compared to Ingress transit AS contains more shades for an SLA path compared to Ingress
and Egress domains. This example shows how service routes can and Egress domains. This example shows how service routes can
traverse through finer shades when available and take coarse shades traverse through finer shades when available and take coarse shades
otherwise. otherwise.
..................... ....................... ...................... ..................... ....................... ......................
: : : Gold1(101) : : : : : : Gold1(101) : : :
: Gold(100) : : Gold2(102) : : Gold(100) : : Gold(100) : : Gold2(102) : : Gold(100) :
: : : : : : : : : : : :
: [PE11]----[ASBR11]---[ASBR21------[ASBR22]---[ASBR31-------[PE31]: : [PE11]----[ASBR11]---[ASBR21------[ASBR22]---[ASBR31-------[PE31]:
: : : : : : : : : : : :
: Metro Ingress : : Core : : Metro Egress : : Metro Ingress : : Core : : Metro Egress :
: : : : : : : : : : : :
: AS1 : : AS2 : : AS3 : : AS1 : : AS2 : : AS3 :
..................... ....................... ...................... ..................... ....................... ......................
----------- Traffic Direction --------> ----------- Traffic Direction -------->
Figure 9: Transport Layer with Heterogenous Color Domains Figure 9: Transport Layer with Heterogenous Color Domains
In the preceding topology shown in Figure 9, we have three Autonomous In Figure 9, we have three Autonomous Systems. All the nodes in the
Systems. All the nodes in the topology support BGP CT. topology support BGP CT.
In AS1 Gold SLA is represented by color 100. * In AS1, the Gold SLA is represented by color 100.
In AS2 Gold has finer shades: Gold1 by color 101 and Gold2 by color * In AS2, Gold has finer shades: Gold1 by color 101 and Gold2 by
102. color 102.
In AS3 Gold SLA is represented by color 100. * In AS3, the Gold SLA is represented by color 100.
This problem can be solved by the two following approaches: This problem can be solved by the two approaches described in
Sections 11.2.3.1 and 11.2.3.2.
11.2.3.1. Duplicate Tunnels Approach 11.2.3.1. Duplicate Tunnels Approach
In this approach, duplicate tunnels that satisfy Gold SLA are In this approach, duplicate tunnels that satisfy the Gold SLA are
configured in domains AS1 and AS3, but they are given fine grained configured in domains AS1 and AS3, but they are given fine-grained
colors 101 and 102. colors 101 and 102.
These tunnels will be installed in TRDBs corresponding to transport These tunnels will be installed in TRDBs corresponding to transport
classes of color 101 and 102. classes of colors 101 and 102.
Overlay routes received with mapping community (e.g.: transport- Overlay routes received with a mapping community (e.g., transport-
target or color community) can resolve over these tunnels in the TRDB target or color community) can resolve over these tunnels in the TRDB
with matching color by using resolution schemes. with matching colors by using resolution schemes.
This approach consumes more resources in the transport and forwarding This approach consumes more resources in the transport and forwarding
layer, because of the duplicate tunnels. layer because of the duplicate tunnels.
11.2.3.2. Customized Resolution Schemes Approach 11.2.3.2. Customized Resolution Schemes Approach
In this approach, resolution schemes in domains AS1 and AS3 are In this approach, resolution schemes in domains AS1 and AS3 are
customized to map the received mapping community (e.g., transport- customized to map the received mapping community (e.g., transport-
target or color community) over available Gold SLA tunnels. This target or color community) over available Gold SLA tunnels. This
conserves resource usage with no additional state in the transport or conserves resource usage with no additional state in the transport or
forwarding planes. forwarding planes.
Service routes advertised by PE31 that need to resolve over Gold1 Service routes advertised by PE31 that need to resolve over Gold1
transport tunnels carry a mapping community color:0:101. In AS3 and transport tunnels carry a mapping community color:0:101. In AS3 and
AS1, where Gold1 is not available, it is mapped to color 100 TRDB AS1, where Gold1 is not available, it is mapped to color 100 TRDB
using a customized resolution scheme. In AS2, Gold1 is available and using a customized resolution scheme. In AS2, Gold1 is available,
it maps to color 101 TRDB. and it maps to color 101 TRDB.
Similarly, service routes advertised by PE31 that need to resolve Similarly, service routes advertised by PE31 that need to resolve
over Gold2 transport tunnels carry a mapping community color:0:102. over Gold2 transport tunnels carry a mapping community color:0:102.
In AS3 and AS1, where Gold2 is not available, it is mapped to color In AS3 and AS1, where Gold2 is not available, it is mapped to color
100 TRDB using a customized resolution scheme. In AS2, Gold2 is 100 TRDB using a customized resolution scheme. In AS2, Gold2 is
available and it maps to color 102 TRDB. available, and it maps to color 102 TRDB.
To facilitate this, SN/BN in all three AS provision the transport To facilitate this, SNs/BNs in all three ASes provision the transport
classes 100, 101 and 102. SN and BN in AS1 and AS3 are provisioned classes 100, 101, and 102. SNs and BNs in AS1 and AS3 are
with customized resolution schemes that resolve routes with provisioned with customized resolution schemes that resolve routes
transport-target:0:101 or transport-target:0:102 using color 100 with transport-target:0:101 or transport-target:0:102 using color 100
TRDB. TRDB.
PE31 is provisioned to originate BGP CT route with color 101 for PE31 is provisioned to originate BGP CT routes with color 101 for
endpoint PE31. This route is sent with NLRI RD prefix RD1:PE31 and endpoint PE31. This route is sent with an NLRI RD prefix RD1:PE31
route target extended community transport-target:0:101. and Route Target extended community transport-target:0:101.
Similarly, PE31 is provisioned to originate BGP CT route with color Similarly, PE31 is provisioned to originate BGP CT routes with color
102 for endpoint PE31. This route is sent with NLRI RD prefix 102 for endpoint PE31. This route is sent with an NLRI RD prefix
RD2:PE31 and route target extended community transport-target:0:102. RD2:PE31 and Route Target extended community transport-target:0:102.
Following description explains the remaining procedures with color The following description explains the remaining procedures with
101 as example. color 101 as an example.
At ASBR31, the route target "transport-target:0:101" on this BGP CT At ASBR31, the route target "transport-target:0:101" on this BGP CT
route instructs to add the route to color 101 TRDB. ASBR31 is route gives instruction to add the route to color 101 TRDB. ASBR31
provisioned with customized resolution scheme that resolves the is provisioned with a customized resolution scheme that resolves the
routes carrying mapping community transport-target:0:101 to resolve routes carrying mapping community transport-target:0:101 to resolve
using color 100 TRDB. This route is then re-advertised from color using color 100 TRDB. This route is then readvertised from color 101
101 TRDB to ASBR22 with route-target:0:101. TRDB to ASBR22 with route-target:0:101.
At ASBR22, the BGP CT routes received with transport-target:0:101 At ASBR22, the BGP CT routes received with transport-target:0:101
will be added to color 101 TRDB and strictly resolve over tunnel will be added to color 101 TRDB and strictly resolve over tunnel
routes in the same TRDB. This route is re-advertised to ASBR21 with routes in the same TRDB. This route is readvertised to ASBR21 with
transport-target:0:101. transport-target:0:101.
Similarly, at ASBR21, the BGP CT routes received with transport- Similarly, at ASBR21, the BGP CT routes received with transport-
target:0:101 will be added to color 101 TRDB and strictly resolve target:0:101 will be added to color 101 TRDB and strictly resolve
over tunnel routes in the same TRDB. This route is re-advertised to over tunnel routes in the same TRDB. This route is readvertised to
ASBR11 with transport-target:0:101. ASBR11 with transport-target:0:101.
At ASBR11, the route target "transport-target:0:101" on this BGP CT At ASBR11, the route target "transport-target:0:101" on this BGP CT
route instructs to add the route to color 101 TRDB. ASBR11 is route gives instruction to add the route to color 101 TRDB. ASBR11
provisioned with a customized resolution scheme that resolves the is provisioned with a customized resolution scheme that resolves the
routes carrying transport-target:0:101 to use color 100 TRDB. This routes carrying transport-target:0:101 to use color 100 TRDB. This
route is then re-advertised from color 101 TRDB to PE11 with route is then readvertised from color 101 TRDB to PE11 with
transport-target:0:101. transport-target:0:101.
At PE11, the route target "transport-target:0:101" on this BGP CT At PE11, the route target "transport-target:0:101" on this BGP CT
route instructs to add the route to color 101 TRDB. PE11 is route gives instruction to add the route to color 101 TRDB. PE11 is
provisioned with a customized resolution scheme that resolves the provisioned with a customized resolution scheme that resolves the
routes carrying transport-target:0:101 to use color 100 TRDB. routes carrying transport-target:0:101 to use color 100 TRDB.
When PE11 receives the service route with the mapping community When PE11 receives the service route with the mapping community
color:0:101 it directly resolves over the BGP CT route in color 101 color:0:101, it directly resolves over the BGP CT route in color 101
TRDB, which in turn resolves over tunnel routes in color 100 TRDB. TRDB, which, in turn, resolves over tunnel routes in color 100 TRDB.
Similar processing is done for color 102 routes also at ASBR31, Similar processing is done for color 102 routes also at ASBR31,
ASBR22, ASBR21, ASBR11 and PE11. ASBR22, ASBR21, ASBR11, and PE11.
In doing so, PE11 can forward traffic via tunnels with color 101, In doing so, PE11 can forward traffic via tunnels with color 101,
color 102 in the core domain, and color 100 in the metro domains. color 102 in the core domain and color 100 in the metro domains.
11.3. Migration Scenarios. 11.3. Migration Scenarios
11.3.1. BGP CT Islands Connected via BGP LU Domain 11.3.1. BGP CT Islands Connected via BGP LU Domain
This section explains how end-to-end SLA can be achieved while This section explains how an end-to-end SLA can be achieved while
transiting a domain that does not support BGP CT. BGP LU is used in transiting a domain that does not support BGP CT. BGP LU is used in
such domains to connect the BGP CT islands. such domains to connect the BGP CT islands.
+----------EBGP Multihop CT-------------+ +----------EBGP Multihop CT-------------+
| | | |
AS3 | AS2 | AS1 AS3 | AS2 | AS1
[PE31-----ASBR31]--------[ASBR22---ASBR21]-------[ASBR11---PE11] [PE31-----ASBR31]--------[ASBR22---ASBR21]-------[ASBR11---PE11]
<--EBGP LU--> <--EBGP LU--> <--EBGP LU--> <--EBGP LU-->
<--IBGP CT--> <--IBGP LU--> <--IBGP CT--> <--IBGP CT--> <--IBGP LU--> <--IBGP CT-->
---------Traffic Direction---------> ---------Traffic Direction--------->
Figure 10: BGP CT in AS1 and AS3 connected by BGP LU in AS2 Figure 10: BGP CT in AS1 and AS3 Connected by BGP LU in AS2
In the preceding topology shown in Figure 10, there are three AS In the preceding topology shown in Figure 10, there are three AS
domains. AS1 and AS3 support BGP CT, while AS2 does not support BGP domains: AS1 and AS3 support BGP CT, while AS2 does not support BGP
CT. CT.
Nodes in AS1, AS2, and AS3 negotiate BGP LU family on IBGP sessions Nodes in AS1, AS2, and AS3 negotiate BGP LU family on IBGP sessions
within the domain. Nodes in AS1 and AS3 negotiate BGP CT family on within the domain. Nodes in AS1 and AS3 negotiate BGP CT family on
IBGP sessions within the domain. ASBR11 and ASBR21 as well as ASBR22 IBGP sessions within the domain. ASBR11 and ASBR21 as well as ASBR22
and ASBR31 negotiate BGP LU family on the EBGP session over directly and ASBR31 negotiate BGP LU family on the EBGP session over directly
connected inter-domain links. ASBR11 and ASBR31 have reachability to connected inter-domain links. ASBR11 and ASBR31 have reachability to
each others loopbacks through BGP LU. ASBR11 and ASBR31 negotiate each other's loopbacks through BGP LU. ASBR11 and ASBR31 negotiate
BGP CT family over a multihop EBGP session formed using BGP LU BGP CT family over a multihop EBGP session formed using BGP LU
reachability. reachability.
The following tunnels exist for Gold Transport Class The following tunnels exist for the Gold Transport Class
PE11_to_ASBR11_gold - RSVP-TE tunnel * PE11_to_ASBR11_gold - RSVP-TE tunnel
ASBR11_to_PE11_gold - RSVP-TE tunnel * ASBR11_to_PE11_gold - RSVP-TE tunnel
PE31_to_ASBR31_gold - SRTE tunnel * PE31_to_ASBR31_gold - SRTE tunnel
ASBR31_to_PE31_gold - SRTE tunnel * ASBR31_to_PE31_gold - SRTE tunnel
The following tunnels exist for Bronze Transport Class The following tunnels exist for the Bronze Transport Class
PE11_to_ASBR11_bronze - RSVP-TE tunnel * PE11_to_ASBR11_bronze - RSVP-TE tunnel
ASBR11_to_PE11_bronze - RSVP-TE tunnel * ASBR11_to_PE11_bronze - RSVP-TE tunnel
PE31_to_ASBR31_bronze - SRTE tunnel * PE31_to_ASBR31_bronze - SRTE tunnel
ASBR31_to_PE31_bronze - SRTE tunnel * ASBR31_to_PE31_bronze - SRTE tunnel
These tunnels are provisioned to belong to Transport Classes Gold and These tunnels are provisioned to belong to Transport Classes Gold and
Bronze, and are advertised between ASBR31 and ASBR11 with Next hop Bronze, and they are advertised between ASBR31 and ASBR11 with the
self. next hop set to themselves.
In AS2, that does not support BGP CT, a separate loopback may be used In AS2, which does not support BGP CT, a separate loopback may be
on ASBR22 and ASBR21 to represent Gold and Bronze SLAs, viz. used on ASBR22 and ASBR21 to represent Gold and Bronze SLAs, namely
ASBR22_lpbk_gold, ASBR22_lpbk_bronze, ASBR21_lpbk_gold and ASBR22_lpbk_gold, ASBR22_lpbk_bronze, ASBR21_lpbk_gold, and
ASBR21_lpbk_bronze. ASBR21_lpbk_bronze.
Furthermore, the following tunnels exist in AS2 to satisfy the Furthermore, the following tunnels exist in AS2 to satisfy the
different SLAs, using per SLA loopback endpoints: different SLAs using per-SLA-loopback endpoints:
ASBR21_to_ASBR22_lpbk_gold - RSVP-TE tunnel * ASBR21_to_ASBR22_lpbk_gold - RSVP-TE tunnel
ASBR22_to_ASBR21_lpbk_gold - RSVP-TE tunnel * ASBR22_to_ASBR21_lpbk_gold - RSVP-TE tunnel
ASBR21_to_ASBR22_lpbk_bronze - RSVP-TE tunnel
ASBR22_to_ASBR21_lpbk_bronze - RSVP-TE tunnel * ASBR21_to_ASBR22_lpbk_bronze - RSVP-TE tunnel
RD:PE11 BGP CT route is originated from PE11 towards ASBR11 with * ASBR22_to_ASBR21_lpbk_bronze - RSVP-TE tunnel
transport-target 'gold.' ASBR11 readvertises this route with next
hop set to ASBR11_lpbk_gold on the EBGP multihop session towards The RD:PE11 BGP CT route is originated from PE11 towards ASBR11 with
ASBR31. ASBR11 originates BGP LU route for endpoint ASBR11_lpbk_gold transport-target 'gold.' ASBR11 readvertises this route with the
on EBGP session to ASBR21 with a 'gold SLA' community, and BGP LU next hop set to ASBR11_lpbk_gold on the EBGP multihop session towards
route for ASBR11_lpbk_bronze with a 'bronze SLA' community. The SLA ASBR31. ASBR11 originates a BGP LU route for endpoint
community is used by ASBR31 to publish the BGP LU routes in the ASBR11_lpbk_gold on an EBGP session to ASBR21 with a 'gold SLA'
corresponding BGP CT TRDBs. community and a BGP LU route for ASBR11_lpbk_bronze with a 'bronze
SLA' community. The SLA community is used by ASBR31 to publish the
BGP LU routes in the corresponding BGP CT TRDBs.
ASBR21 readvertises the BGP LU route for endpoint ASBR11_lpbk_gold to ASBR21 readvertises the BGP LU route for endpoint ASBR11_lpbk_gold to
ASBR22 with next hop set by local policy config to the unique ASBR22 with the next hop set by local policy config to the unique
loopback ASBR21_lpbk_gold by matching the 'gold SLA' community loopback ASBR21_lpbk_gold by matching the 'gold SLA' community
received as part of BGP LU advertisement from ASBR11. ASBR22 received as part of BGP LU advertisement from ASBR11. ASBR22
receives this route and resolves the next hop over the receives this route and resolves the next hop over the
ASBR22_to_ASBR21_lpbk_gold RSVP-TE tunnel. On successful resolution, ASBR22_to_ASBR21_lpbk_gold RSVP-TE tunnel. On successful resolution,
ASBR22 readvertises this BGP LU route to ASBR31 with next hop self ASBR22 readvertises this BGP LU route to ASBR31 with the next hop set
and a new label. to itself and a new label.
ASBR31 adds the ASBR11_lpbk_gold route received via EBGP LU from ASBR31 adds the ASBR11_lpbk_gold route received via EBGP LU from
ASBR22 to 'gold' TRDB based on the received 'gold SLA' community. ASBR22 to a 'gold' TRDB based on the received 'gold SLA' community.
ASBR31 uses this 'gold' TRDB route to resolve the next hop ASBR31 uses this 'gold' TRDB route to resolve the next hop
ASBR11_lpbk_gold received on BGP CT route with transport-target ASBR11_lpbk_gold received on the BGP CT route with transport-target
'gold,' for the prefix RD:PE11 received over the EBGP multihop CT 'gold,' for the prefix RD:PE11 received over the EBGP multihop CT
session, thus preserving the end-to-end SLA. Now ASBR31 readvertises session, thus preserving the end-to-end SLA. Now ASBR31 readvertises
the BGP CT route for RD:PE11 with next hop as self thus stitching the BGP CT route for RD:PE11 with the next hop set to itself, thus
with the BGP LU LSP in AS2. Intra-domain traffic forwarding in AS1 stitching with the BGP LU LSP in AS2. Intra-domain traffic
and AS3 follows the procedures as explained in Illustration of CT forwarding in AS1 and AS3 follows the procedures as explained in
Procedures (Section 8) Section 8.
In cases where an SLA cannot be preserved in AS2 because SLA specific In cases where an SLA cannot be preserved in AS2 because SLA-specific
tunnels and loopbacks don't exist in AS2, traffic can be carried over tunnels and loopbacks don't exist in AS2, traffic can be carried over
available SLAs (e.g.: best effort SLA) by rewriting the next hop to available SLAs (e.g., best-effort SLA) by rewriting the next hop to
ASBR21 loopback assigned to the available SLA. This eases migration an ASBR21 loopback assigned to the available SLA. This eases
in case of heterogeneous color domains as-well. migration in case of a heterogeneous color domain as well.
11.3.2. BGP CT - Interoperability between MPLS and Other Forwarding 11.3.2. BGP CT: Interoperability Between MPLS and Other Forwarding
Technologies Technologies
This section describes how nodes supporting dissimilar encapsulation This section describes how nodes supporting dissimilar encapsulation
technologies can interoperate with each other when using BGP CT technologies can interoperate when using the BGP CT family.
family.
11.3.2.1. Interop Between MPLS and SRv6 Nodes. 11.3.2.1. Interoperation Between MPLS and SRv6 Nodes
BGP speakers may carry MPLS label and SRv6 SID in BGP CT SAFI 76 for BGP speakers may carry MPLS labels and SRv6 SIDs in BGP CT SAFI 76
AFIs 1 or 2 routes using protocol encoding as described in Carrying for AFI 1 or 2 routes using protocol encoding as described in
Multiple Encapsulation information (Section 6.3) Section 6.3.
MPLS Labels are carried using RFC 8277 encoding, and SRv6 SID is MPLS Labels are carried using the encoding described in [RFC8277],
carried using Prefix SID attribute as specified in Section 7.13. and SRv6 SIDs are carried using the Prefix SID attribute as specified
in Section 7.13.
RR1---+ RR1---+
\ +-------R2 [MPLS + SRv6] \ +-------R2 [MPLS + SRv6]
\ | \ |
R1--------P-------R3 [MPLS only] R1--------P-------R3 [MPLS only]
[MPLS + SRv6] | [MPLS + SRv6] |
+-------R4 [SRv6 only] +-------R4 [SRv6 only]
<---- Bidirectional Traffic -----> <---- Bidirectional Traffic ----->
Figure 11: BGP CT Interop between MPLS and SRv6 nodes Figure 11: BGP CT Interoperation Between MPLS and SRv6 Nodes
This example shows a provider network with a mix of devices with This example shows a provider network with a mix of devices that have
different forwarding capabilities. R1 and R2 support forwarding both different forwarding capabilities. R1 and R2 support forwarding both
MPLS and SRv6 packets. R3 supports forwarding MPLS packets only. R4 MPLS and SRv6 packets. R3 supports forwarding MPLS packets only. R4
supports forwarding SRv6 packets only. All these nodes have BGP supports forwarding SRv6 packets only. All these nodes have a BGP
session with Route Reflector RR1 which reflects routes between these session with Route Reflector RR1, which reflects routes between these
nodes with next hop unchanged. BGP CT family is negotiated on these nodes with the next hop unchanged. The BGP CT family is negotiated
sessions. on these sessions.
R1 and R2 send and receive both MPLS label and SRv6 SID in the BGP CT R1 and R2 send and receive both MPLS labels and SRv6 SIDs in the BGP
control plane routes. This allows them to be ingress and egress for CT control plane routes. This allows them to be ingress and egress
both MPLS and SRv6 data planes. MPLS label is carried using RFC 8277 for both MPLS and SRv6 data planes. The MPLS label is carried using
encoding, and SRv6 SID is carried using Prefix SID attribute as the encoding described in [RFC8277], and an SRv6 SID is carried using
specified in Section 7.13, without Transposition Scheme. In this the Prefix SID attribute as specified in Section 7.13 without the
way, either MPLS or SRv6 forwarding can be used between R1 and R2. Transposition Scheme. In this way, either MPLS or SRv6 forwarding
can be used between R1 and R2.
R1 and R3 send and receive MPLS label in the BGP CT control plane R1 and R3 send and receive an MPLS label in the BGP CT control plane
routes using RFC 8277 encoding. This allows them to be ingress and routes using the encoding described in [RFC8277]. This allows them
egress for MPLS data plane. R1 will carry SRv6 SID in Prefix-SID to be ingress and egress for MPLS data plane. R1 will carry an SRv6
attribute, which will not be used by R3. In order to interoperate SID in the Prefix SID attribute, which will not be used by R3. In
with MPLS only device R3, R1 MUST NOT use SRv6 Transposition scheme order to interoperate with MPLS-only device R3, R1 MUST NOT use the
described in [RFC9252]. The encoding suggested in Section 7.13 is SRv6 Transposition scheme described in [RFC9252]. The encoding
used by R1. MPLS forwarding will be used between R1 and R3. suggested in Section 7.13 is used by R1. MPLS forwarding will be
used between R1 and R3.
R1 and R4 send and receive SRv6 SID in the BGP CT control plane R1 and R4 send and receive SRv6 SIDs in the BGP CT control plane
routes using BGP Prefix-SID attribute, without Transposition Scheme. routes using the BGP Prefix SID attribute, without a Transposition
This allows them to be ingress and egress for SRv6 data plane. R4 Scheme. This allows them to be ingress and egress for the SRv6 data
will carry the special MPLS Label with value 3 (Implicit-NULL) in RFC plane. R4 will carry the special MPLS label with a value of 3
8277 encoding, which tells R1 not to push any MPLS label for this BGP (Implicit-NULL) in the encoding described in [RFC8277], which tells
CT route towards R4. The MPLS Label advertised by R1 in RFC 8277 R1 not to push any MPLS label for this BGP CT route towards R4. The
NLRI will not be used by R4. SRv6 forwarding will be used between R1 MPLS label advertised by R1 in an NLRI as described in [RFC8277] will
and R4. not be used by R4. SRv6 forwarding will be used between R1 and R4.
Note in this example that R3 and R4 cannot communicate directly with Note that, in this example, R3 and R4 cannot communicate directly
each other, because they don't support a common forwarding with each other because they don't support a common forwarding
technology. The BGP CT routes received at R3, R4 from each other technology. The BGP CT routes received at R3 and R4 from each other
will remain unusable, due to incompatible forwarding technology. will remain unusable due to incompatible forwarding technology.
11.3.2.2. Interop Between Nodes Supporting MPLS and UDP Tunneling 11.3.2.2. Interop Between Nodes Supporting MPLS and UDP Tunneling
This section describes how nodes supporting MPLS forwarding can This section describes how nodes supporting MPLS forwarding can
interoperate with other nodes supporting UDP (or IP) tunneling, when interoperate with other nodes supporting UDP (or IP) tunneling when
using BGP CT family. using BGP CT family.
MPLS Labels are carried using RFC 8277 encoding, and UDP (or IP) MPLS Labels are carried using the encoding described in [RFC8277],
tunneling information is carried using TEA attribute or the and UDP (or IP) tunneling information is carried using the TEA
Encapsulation Extended Community as specified in [RFC9012]. attribute or the Encapsulation Extended Community as specified in
[RFC9012].
RR1---+ RR1---+
\ +-------R2 [MPLS + UDP] \ +-------R2 [MPLS + UDP]
\ | \ |
R1--------P-------R3 [MPLS only] R1--------P-------R3 [MPLS only]
[MPLS + UDP] | [MPLS + UDP] |
+-------R4 [UDP only] +-------R4 [UDP only]
<---- Bidirectional Traffic -----> <---- Bidirectional Traffic ----->
Figure 12: BGP CT Interop between MPLS and UDP tunneling nodes Figure 12: BGP CT Interop Between MPLS and UDP Tunneling Nodes
In this example, R1 and R2 support forwarding both MPLS and UDP In this example, R1 and R2 support forwarding both MPLS and UDP
tunneled packets. R3 supports forwarding MPLS packets only. R4 tunneled packets. R3 supports forwarding MPLS packets only. R4
supports forwarding UDP tunneled packets only. All these nodes have supports forwarding UDP tunneled packets only. All these nodes have
BGP session with Route Reflector RR1 which reflects routes between BGP session with Route Reflector RR1, which reflects routes between
these nodes with next hop unchanged. BGP CT family is negotiated on these nodes with the next hop unchanged. The BGP CT family is
these sessions. negotiated on these sessions.
R1 and R2 send and receive both MPLS label and UDP tunneling info in R1 and R2 send and receive both MPLS labels and UDP tunneling info in
the BGP CT control plane routes. This allows them to be ingress and the BGP CT control plane routes. This allows them to be ingress and
egress for both MPLS and UDP tunneling data planes. MPLS label is egress for both MPLS and UDP tunneling data planes. The MPLS label
carried using RFC 8277 encoding. As specified in [RFC9012], UDP is carried using the encoding described in [RFC8277]. As specified
tunneling information is carried using TEA attribute (code 23) or the in [RFC9012], UDP tunneling information is carried using the Tunnel
"barebones" Tunnel TLV carried in Encapsulation Extended Community. Encasulation Attribute (code 23) or the "barebones" Tunnel TLV
Either MPLS or UDP tunneled forwarding can be used between R1 and R2. carried in Encapsulation Extended Community. Either MPLS or UDP
tunnel forwarding can be used between R1 and R2.
R1 and R3 send and receive MPLS label in the BGP CT control plane R1 and R3 send and receive MPLS labels in the BGP CT control plane
routes using RFC 8277 encoding. This allows them to be ingress and routes using the encoding described in [RFC8277]. This allows them
egress for MPLS data plane. R1 will carry UDP tunneling info in TEA to be ingress and egress for MPLS data plane. R1 will carry UDP
attribute, which will not be used by R3. MPLS forwarding will be tunneling info in the TEA, which will not be used by R3. MPLS
used between R1 and R3. forwarding will be used between R1 and R3.
R1 and R4 send and receive UDP tunneling info in the BGP CT control R1 and R4 send and receive UDP tunneling info in the BGP CT control
plane routes using BGP TEA attribute. This allows them to be ingress plane routes using the BGP TEA. This allows them to be ingress and
and egress for UDP tunneled data plane. R4 will carry special MPLS egress for UDP tunneled data plane. R4 will carry special MPLS Label
Label with value 3 (Implicit-NULL) in RFC 8277 encoding, which tells with value 3 (Implicit-NULL) in the encoding described in [RFC8277],
R1 not to push any MPLS label for this BGP CT route towards R4. The which tells R1 not to push any MPLS label for this BGP CT route
MPLS Label advertised by R1 will not be used by R4. UDP tunneled towards R4. The MPLS Label advertised by R1 will not be used by R4.
forwarding will be used between R1 and R4. UDP tunneled forwarding will be used between R1 and R4.
Note in this example that R3 and R4 cannot communicate directly with Note that, in this example, R3 and R4 cannot communicate directly
each other, because they don't support a common forwarding with each other because they don't support a common forwarding
technology. The BGP CT routes received at R3, R4 from each other technology. The BGP CT routes received at R3 and R4 from each other
will remain unusable, due to incompatible forwarding technology. will remain unusable due to incompatible forwarding technology.
11.4. MTU Considerations 11.4. MTU Considerations
Operators should coordinate the MTU of the intra-domain tunnels used Operators should coordinate the MTU of the intra-domain tunnels used
to prevent Path MTU discovery problems that could appear in to prevent Path MTU discovery problems that could appear in
deployments. The encapsulation overhead due to the MPLS label stack deployments. The encapsulation overhead due to the MPLS label stack
or equivalent tunnel header in different forwarding architecture or equivalent tunnel header in different forwarding architecture
should also be considered when determining the Path MTU of the end- should also be considered when determining the Path MTU of the end-
to-end BGP CT tunnel. to-end BGP CT tunnel.
The document [INTAREA-TUNNELS] discusses these considerations in more [INTAREA-TUNNELS] discusses these considerations in more detail.
detail.
11.5. Use of DSCP 11.5. Use of DSCP
BGP CT specifies procedures for Intent Driven Service Mapping in a BGP CT specifies procedures for Intent-Driven Service Mapping in a
service provider network, and defines 'Transport Class' construct to service provider network and defines the 'Transport Class' construct
represent an Intent. to represent an Intent.
It may be desirable to allow a CE device to indicate in the data It may be desirable to allow a CE device to indicate in the data
packet it sends what treatment it desires (the Intent) when the packet it sends what treatment it desires (the Intent) when the
packet is forwarded within the provider network. packet is forwarded within the provider network.
Such an indication can be in form of DSCP code point [RFC2474] in the Such an indication can be in the form of a DSCP (see [RFC2474]) in
IP header. the IP header.
In RFC2474, a Forwarding Class Selector maps to a PHB (Per-hop In [RFC2474], a Forwarding Class Selector maps to a PHB (Per-hop
Behavior). The Transport Class construct is a PHB at transport Behavior). The Transport Class construct is a PHB at the transport
layer. layer.
----Gold-----> ----Gold----->
[CE1]-----[PE1]---[P]----[PE2]-----[CE2] [CE1]-----[PE1]---[P]----[PE2]-----[CE2]
---Bronze----> ---Bronze---->
203.0.113.11 203.0.113.22 203.0.113.11 203.0.113.22
-----Traffic direction----> -----Traffic direction---->
Figure 13: Example Topology with DSCP on PE-CE Links Figure 13: Example Topology with DSCP on PE-CE Links
Let PE1 be configured to map DSCP1 to Gold Transport class, and DSCP2 Let PE1 be configured to map DSCP1 to the Gold Transport class and
to Bronze Transport class. Based on the DSCP code point received on DSCP2 to the Bronze Transport class. Based on the DSCP received on
the IP traffic from CE device, PE1 forwards the IP packet over a Gold the IP traffic from the CE device, PE1 forwards the IP packet over a
or Bronze TC tunnel. Thus, the forwarding is not based on just the Gold or Bronze TC tunnel. Thus, the forwarding is not based on just
destination IP address, but also the DSCP code point. This is known the destination IP address but also the DSCP. This is known as
as Class Based Forwarding (CBF). Class-Based Forwarding (CBF).
CBF is configured at the PE1 device, mapping the DSCP values to CBF is configured at the PE1 device, mapping the DSCP values to
respective Transport Classes. This mapping (DSCP peering agreement) respective Transport Classes. This mapping (DSCP peering agreement)
is communicated to CE device by out of band mechanisms. This allows is communicated to CE devices by out-of-band mechanisms. This allows
the administrator of CE1 to discover what transport classes exist in the administrator of CE1 to discover what transport classes exist in
the provider network, and which DSCP codepoint to encode so that the provider network and which DSCP to encode so that traffic is
traffic is forwarded using the desired Transport Class in the forwarded using the desired Transport Class in the provided network.
provided network. When the IP packet exits the provider network to When the IP packet exits the provider network to CE2, PE2 resets the
CE2, PE2 resets the DSCP code point based on DSCP peering agreement DSCP based on the DSCP peering agreement with CE2.
with CE2.
12. Applicability to Network Slicing 12. Applicability to Network Slicing
In Network Slicing, the Network Slice Controller (IETF NSC) is In Network Slicing, the IETF Network Slice Controller (NSC) is
responsible for customizing and setting up the underlying transport responsible for customizing and setting up the underlying transport
(e.g. RSVP-TE, SRTE tunnels with desired characteristics) and (e.g., RSVP-TE, SRTE tunnels with desired characteristics) and
resources (e.g., polices/shapers) in a transport network to create an resources (e.g., policies/shapers) in a transport network to create
IETF Network Slice. an IETF Network Slice.
The Transport Class construct described in this document can be used The Transport Class construct described in this document can be used
to realize the "IETF Network Slice" described in Section 4 of to realize the "IETF Network Slice" described in Section 4 of
[RFC9543] [RFC9543].
The NSC can use the Transport Class Identifier (Color value) to The NSC can use the Transport Class Identifier (Color value) to
provision a transport tunnel in a specific IETF Network Slice. provision a transport tunnel in a specific IETF Network Slice.
Furthermore, the NSC can use the Mapping Community on the service Furthermore, the NSC can use the Mapping Community on the service
route to map traffic to the desired IETF Network Slice. route to map traffic to the desired IETF Network Slice.
13. IANA Considerations 13. IANA Considerations
This document makes the following requests of IANA.
13.1. New BGP SAFI 13.1. New BGP SAFI
IANA has assigned a BGP SAFI code for "Classful Transport". Value IANA has assigned BGP SAFI code 76 for the "Classful Transport SAFI".
76. IANA is requested to update the reference to this document.
Registry Group: Subsequent Address Family Identifiers (SAFI) Parameters Registry Group: Subsequent Address Family Identifiers (SAFI)
Parameters
Registry Name: SAFI Values Registry Name: SAFI Values
Value Description +=======+=========================+===========+
-------------+-------------------------- | Value | Description | Reference |
76 Classful Transport SAFI +=======+=========================+===========+
| 76 | Classful Transport SAFI | RFC 9832 |
+-------+-------------------------+-----------+
This will be used to create new AFI,SAFI pairs for IPv4, IPv6 Table 1
Classful Transport families. viz:
* "IPv4, Classful Transport". AFI/SAFI = "1/76" for carrying IPv4 This will be used to create new AFI/SAFI pairs for IPv4 and IPv6
Classful Transport families, namely:
* "IPv4, Classful Transport" AFI/SAFI = "1/76" for carrying IPv4
Classful Transport prefixes. Classful Transport prefixes.
* "IPv6, Classful Transport". AFI/SAFI = "2/76" for carrying IPv6 * "IPv6, Classful Transport" AFI/SAFI = "2/76" for carrying IPv6
Classful Transport prefixes. Classful Transport prefixes.
13.2. New Format for BGP Extended Community 13.2. New Format for BGP Extended Community
IANA has assigned a Format type (Type high = 0xa) of Extended IANA has assigned a Format type (Type high = 0xa) of Extended
Community EXT-COMM [RFC4360] for Transport Class from the following Community [RFC4360] for the Transport Class from the following
registries: registries in the "Border Gateway Protocol (BGP) Extended
Communities" registry group:
the "BGP Transitive Extended Community Types" registry, and * the "BGP Transitive Extended Community Types" registry and
the "BGP Non-Transitive Extended Community Types" registry. * the "BGP Non-Transitive Extended Community Types" registry.
The same low-order six bits have been assigned for both allocations. The same low-order six bits have been assigned for both allocations.
IANA is requested to update the reference to this document.
This document uses this new Format with subtype 0x2 (route target), This document uses this new Format with subtype 0x2 (route target),
as a transitive extended community. The Route Target thus formed is as a transitive extended community. The Route Target thus formed is
called "Transport Class" route target extended community. called "Transport Class" Route Target extended community.
The Non-Transitive Transport Class Extended community with subtype The Non-Transitive Transport Class extended community with subtype
0x2 (route target) is called the "Non-Transitive Transport Class 0x2 (route target) is called the "Non-Transitive Transport Class
route target extended community". Route Target extended community".
Taking reference of [RFC7153] , the following assignments have been Taking a reference of [RFC7153], the assignments in the following
made: subsections have been made.
13.2.1. Existing Registries 13.2.1. Existing Registries
13.2.1.1. Registries for the "Type" Field 13.2.1.1. Registries for the "Type" Field
13.2.1.1.1. Transitive Types 13.2.1.1.1. Transitive Types
This registry contains values of the high-order octet (the "Type" This registry contains values of the high-order octet (the "Type"
field) of a Transitive Extended Community. field) of a Transitive Extended Community.
Registry Group: Border Gateway Protocol (BGP) Extended Communities Registry Group: Border Gateway Protocol (BGP) Extended Communities
Registry Name: BGP Transitive Extended Community Types Registry Name: BGP Transitive Extended Community Types
Type Value Name +============+=================+
--------------+--------------- | Type Value | Name |
0x0a Transport Class +============+=================+
| 0x0a | Transport Class |
+------------+-----------------+
(Sub-Types are defined in the Table 2
"Transitive Transport Class Extended Community Sub-Types"
registry) (Sub-Types are defined in the "Transitive Transport Class Extended
Community Sub-Types" registry.)
13.2.1.1.2. Non-Transitive Types 13.2.1.1.2. Non-Transitive Types
This registry contains values of the high-order octet (the "Type" This registry contains values of the high-order octet (the "Type"
field) of a Non-transitive Extended Community. field) of a Non-Transitive Extended Community.
Registry Group: Border Gateway Protocol (BGP) Extended Communities Registry Group: Border Gateway Protocol (BGP) Extended Communities
Registry Name: BGP Non-Transitive Extended Community Types Registry Name: BGP Non-Transitive Extended Community Types
Type Value Name +============+================================+
--------------+-------------------------------- | Type Value | Name |
0x4a Non-Transitive Transport Class +============+================================+
| 0x4a | Non-Transitive Transport Class |
+------------+--------------------------------+
(Sub-Types are defined in the Table 3
"Non-Transitive Transport Class Extended Community Sub-Types"
registry) (Sub-Types are defined in the "Non-Transitive Transport Class
Extended Community Sub-Types" registry.)
13.2.2. New Registries 13.2.2. New Registries
13.2.2.1. Transitive Transport Class Extended Community Sub-Types 13.2.2.1. Transitive Transport Class Extended Community Sub-Types
Registry Registry
IANA is requested to add the following subregistry under the “Border IANA has added the following subregistry under the "Border Gateway
Gateway Protocol (BGP) Extended Communities”: Protocol (BGP) Extended Communities" registry group:
Registry Group: Border Gateway Protocol (BGP) Extended Communities Registry Group: Border Gateway Protocol (BGP) Extended Communities
Registry Name: Transitive Transport Class Extended Community Sub-Types Registry Name: Transitive Transport Class Extended Community Sub-
Types
Note: Note: This registry contains values of the second octet (the "Sub-
This registry contains values of the second octet (the Type" field) of an extended community when the value of the first
"Sub-Type" field) of an extended community when the value of the octet (the "Type" field) is 0x0a.
first octet (the "Type" field) is 0x0a.
Range Registration Procedures +===========+=========================+
-----------------+---------------------------- | Range | Registration Procedures |
0x00-0xBF First Come First Served +===========+=========================+
0xC0-0xFF IETF Review | 0x00-0xbf | First Come First Served |
+-----------+-------------------------+
| 0xc0-0xff | IETF Review |
+-----------+-------------------------+
Sub-Type Value Name Table 4
-----------------+--------------
0x02 Route Target +----------------+--------------+
| Sub-Type Value | Name |
+----------------+--------------+
| 0x02 | Route Target |
+----------------+--------------+
Table 5
13.2.2.2. Non-Transitive Transport Class Extended Community Sub-Types 13.2.2.2. Non-Transitive Transport Class Extended Community Sub-Types
Registry Registry
IANA is requested to add the following subregistry under the “Border IANA has added the following subregistry under the "Border Gateway
Gateway Protocol (BGP) Extended Communities”: Protocol (BGP) Extended Communities" registry group:
Registry Group: Border Gateway Protocol (BGP) Extended Communities Registry Group: Border Gateway Protocol (BGP) Extended Communities
Registry Name: Non-Transitive Transport Class Extended Community Sub-Types Registry Name: Non-Transitive Transport Class Extended Community
Sub-Types
Note: Note: This registry contains values of the second octet (the "Sub-
This registry contains values of the second octet (the Type" field) of an extended community when the value of the first
"Sub-Type" field) of an extended community when the value of the octet (the "Type" field) is 0x4a.
first octet (the "Type" field) is 0x4a.
Range Registration Procedures +===========+=========================+
-----------------+---------------------------- | Range | Registration Procedures |
0x00-0xBF First Come First Served +===========+=========================+
0xC0-0xFF IETF Review | 0x00-0xbf | First Come First Served |
+-----------+-------------------------+
| 0xc0-0xff | IETF Review |
+-----------+-------------------------+
Sub-Type Value Name Table 6
-----------------+--------------
0x02 Route Target +================+==============+
| Sub-Type Value | Name |
+================+==============+
| 0x02 | Route Target |
+----------------+--------------+
Table 7
13.3. MPLS OAM Code Points 13.3. MPLS OAM Code Points
The following two code points have been assigned for Target FEC Stack The following two code points have been assigned for Target FEC Stack
sub-TLVs: sub-TLVs:
* IPv4 BGP Classful Transport * IPv4 BGP Classful Transport
* IPv6 BGP Classful Transport * IPv6 BGP Classful Transport
Registry Group: Multiprotocol Label Switching (MPLS) Registry Group: Multiprotocol Label Switching (MPLS) Label Switched
Label Switched Paths (LSPs) Ping Parameters Paths (LSPs) Ping Parameters
Registry Name: Sub-TLVs for TLV Types 1, 16, and 21
Sub-Type Name Registry Name: Sub-TLVs for TLV Types 1, 16, and 21
-----------------+------------------------------
31744 IPv4 BGP Classful Transport
31745 IPv6 BGP Classful Transport
IANA is requested to update the reference to this document. +==========+=============================+
| Sub-Type | Name |
+==========+=============================+
| 31744 | IPv4 BGP Classful Transport |
+----------+-----------------------------+
| 31745 | IPv6 BGP Classful Transport |
+----------+-----------------------------+
14. Registries maintained by this document Table 8
14.1. Transport Class ID 14. Transport Class ID Registry
This document reserves the Transport class ID value 0 to represent This RFC documents the "Transport Class ID" registry and its assigned
"Best Effort Transport Class ID". This is used in the 'Transport values. The value ranges in this registry are either assigned by
Class ID' field of Transport Route Target extended community that this document or reserved for Private Use. Because the registry is
represents best effort transport class. complete, it is being published in this RFC rather than as an IANA-
maintained registry. However, note that IANA-related terminology
[BCP26] is used here.
Since all value ranges in this registry are already assigned or Registry Name: Transport Class ID
Private use, this registry will be maintained by this document. IANA
does not need to maintain this registry.
Registry Group: BGP Classful Transport (BGP CT) The registration procedures are as follows:
Registry Name: Transport Class ID +==============+========================+
| Value | Registration Procedure |
+==============+========================+
| 0 | IETF Review |
+--------------+------------------------+
| 1-4294967295 | Private Use |
+--------------+------------------------+
Value Name Table 9
-----------------+--------------------------------
0 Best Effort Transport Class ID
1-4294967295 Private Use
Reference: This document. As shown in the table below, the Transport Class ID value 0 is
Reserved to represent the "Best-Effort Transport Class ID". This is
used in the 'Transport Class ID' field of a Transport Route Target
extended community that represents the best-effort transport class.
Registration Procedure(s) +==============+================================+
| Value | Name |
+==============+================================+
| 0 | Best-Effort Transport Class ID |
+--------------+--------------------------------+
| 1-4294967295 | Private Use |
+--------------+--------------------------------+
Value Registration Procedure Table 10
-----------------+--------------------------------
0 IETF Review
1-4294967295 Private Use
As noted in Sec 4 and Sec 7.10, 'Transport Class ID' is As noted in Sections 4 and 7.10, 'Transport Class ID' is
interchangeable with 'Color'. For purposes of backward compatibility interchangeable with 'Color'. For purposes of backward compatibility
with usage of 'Color' field in Color extended community as specified with usage of a 'Color' field in a Color Extended Community as
in [RFC9012] and [RFC9256], the range 1-4294967295 uses 'Private Use' specified in [RFC9012] and [RFC9256], the range 1-4294967295 uses
as Registration Procedure. 'Private Use' as the Registration Procedure.
15. Security Considerations 15. Security Considerations
This document uses [RFC4760] mechanisms to define new BGP address This document uses the mechanisms from [RFC4760] to define new BGP
families (AFI/SAFI : 1/76 and 2/76) that carry transport layer address families (AFI/SAFI : 1/76 and 2/76) that carry transport-
endpoints. These address families are explicitly configured and layer endpoints. These address families are explicitly configured
negotiated between BGP speakers, which confines the propagation scope and negotiated between BGP speakers, which confines the propagation
of this reachability information. These routes stay in the part of scope of this reachability information. These routes stay in the
network where the new address family is negotiated, and don't leak part of network where the new address family is negotiated and don't
out into the Internet. leak out into the Internet.
Furthermore, procedures defined in Section 9.1 mitigate the risk of Furthermore, procedures defined in Section 9.1 mitigate the risk of
unintended propagation of BGP CT routes across Inter-AS boundaries unintended propagation of BGP CT routes across Inter-AS boundaries
even when BGP CT family is negotiated. BGP import and export even when a BGP CT family is negotiated. BGP import and export
policies are used to control the BGP CT reachability information policies are used to control the BGP CT reachability information
exchanged across AS boundaries. This mitigates the risk of exchanged across AS boundaries. This mitigates the risk of
advertising internal loopback addresses outside the administrative advertising internal loopback addresses outside the administrative
control of the provider network. control of the provider network.
This document does not change the underlying security issues inherent This document does not change the underlying security issues inherent
in the existing BGP protocol, such as those described in [RFC4271] in the existing BGP protocol, such as those described in [RFC4271]
and [RFC4272]. and [RFC4272].
Additionally, BGP sessions SHOULD be protected using TCP Additionally, BGP sessions SHOULD be protected using the TCP
Authentication Option [RFC5925] and the Generalized TTL Security Authentication Option [RFC5925] and the Generalized TTL Security
Mechanism [RFC5082]. Mechanism [RFC5082].
Using a separate BGP family and new RT (Transport Class RT) minimizes Using a separate BGP family and new RT (Transport Class RT) minimizes
the possibility of these routes mixing with service routes. the possibility of these routes mixing with service routes.
If redistributing between SAFI 76 and SAFI 4 routes for AFIs 1 or 2, If redistributing between SAFI 76 and SAFI 4 routes for AFIs 1 or 2,
there is a possibility of SAFI 4 routes mixing with SAFI 1 service there is a possibility of SAFI 4 routes mixing with SAFI 1 service
routes. To avoid such scenarios, it is RECOMMENDED that routes. To avoid such scenarios, it is RECOMMENDED that
implementations support keeping SAFI 76 and SAFI 4 transport routes implementations support keeping SAFI 76 and SAFI 4 transport routes
in separate transport RIBs, distinct from service RIB that contain in separate transport RIBs, distinct from service RIB that contain
SAFI 1 service routes. SAFI 1 service routes.
BGP CT routes distribute label binding using [RFC8277] for MPLS BGP CT routes distribute label binding using [RFC8277] for the MPLS
dataplane and hence its security considerations apply. data plane; hence, its security considerations apply.
BGP CT routes distribute SRv6 SIDs for SRv6 dataplanes and hence BGP CT routes distribute SRv6 SIDs for SRv6 data planes; hence, the
security considerations of Section 9.3 of [RFC9252] apply. Moreover, security considerations of Section 9.3 of [RFC9252] apply. Moreover,
SRv6 SID transposition scheme is disabled in BGP CT, as described in the SRv6 SID transposition scheme is disabled in BGP CT, as described
Section 7.13, to mitigate the risk of misinterpreting transposed SRv6 in Section 7.13, to mitigate the risk of misinterpreting transposed
SID information as an MPLS label. SRv6 SID information as an MPLS label.
As [RFC4272] discusses, BGP is vulnerable to traffic-diversion As [RFC4272] discusses, BGP is vulnerable to traffic-diversion
attacks. This SAFI routes adds a new means by which an attacker attacks. This SAFI route adds a new means by which an attacker could
could cause the traffic to be diverted from its normal path. cause the traffic to be diverted from its normal path. Potential
Potential consequences include "hijacking" of traffic (insertion of consequences include "hijacking" of traffic (insertion of an
an undesired node in the path, which allows for inspection or undesired node in the path, which allows for inspection or
modification of traffic, or avoidance of security controls) or denial modification of traffic, or avoidance of security controls) or denial
of service (directing traffic to a node that doesn't desire to of service (directing traffic to a node that doesn't desire to
receive it). receive it).
In order to mitigate the risk of the diversion of traffic from its In order to mitigate the risk of the diversion of traffic from its
intended destination, BGPsec solutions ([RFC8205] and Origin intended destination, BGPsec solutions ([RFC8205] and Origin
Validation [RFC8210][RFC6811]) may be extended in future to work for Validation [RFC8210][RFC6811]) may be extended in future to work for
non-Internet SAFIs (SAFIs other than 1). non-Internet SAFIs (SAFIs other than 1).
The restriction of the applicability of the BGP CT SAFI 76 to its The restriction of the applicability of the BGP CT SAFI 76 to its
skipping to change at page 64, line 26 skipping to change at line 2963
"The BGP Tunnel Encapsulation Attribute", RFC 9012, "The BGP Tunnel Encapsulation Attribute", RFC 9012,
DOI 10.17487/RFC9012, April 2021, DOI 10.17487/RFC9012, April 2021,
<https://www.rfc-editor.org/info/rfc9012>. <https://www.rfc-editor.org/info/rfc9012>.
[RFC9252] Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene, [RFC9252] Dawra, G., Ed., Talaulikar, K., Ed., Raszuk, R., Decraene,
B., Zhuang, S., and J. Rabadan, "BGP Overlay Services B., Zhuang, S., and J. Rabadan, "BGP Overlay Services
Based on Segment Routing over IPv6 (SRv6)", RFC 9252, Based on Segment Routing over IPv6 (SRv6)", RFC 9252,
DOI 10.17487/RFC9252, July 2022, DOI 10.17487/RFC9252, July 2022,
<https://www.rfc-editor.org/info/rfc9252>. <https://www.rfc-editor.org/info/rfc9252>.
[SRTE] Talaulikar, Ed. and S. Previdi, "Advertising Segment [RFC9830] Previdi, S., Filsfils, C., Talaulikar, K., Ed., Mattes,
Routing Policies in BGP", 7 November 2024, P., and D. Jain, "Advertising Segment Routing Policies in
<https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr- BGP", RFC 9830, DOI 10.17487/RFC9830, August 2025,
policy-safi-10>. <https://www.rfc-editor.org/info/rfc9830>.
16.2. Informative References 16.2. Informative References
[BCP26] Best Current Practice 26,
<https://www.rfc-editor.org/info/bcp26>.
At the time of writing, this BCP comprises the following:
Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
[BGP-CT-SRv6] [BGP-CT-SRv6]
Vairavakkalai, Ed. and Venkataraman, Ed., "BGP CT - Vairavakkalai, K., Ed. and N. Venkataraman, Ed., "BGP CT -
Adaptation to SRv6 dataplane", 25 April 2024, Adaptation to SRv6 dataplane", Work in Progress, Internet-
<https://tools.ietf.org/html/draft-ietf-idr-bgp-ct- Draft, draft-ietf-idr-bgp-ct-srv6-06, 9 November 2024,
srv6-05>. <https://datatracker.ietf.org/doc/html/draft-ietf-idr-bgp-
ct-srv6-06>.
[BGP-CT-UPDATE-PACKING-TEST] [BGP-CT-UPDATE-PACKING-TEST]
Vairavakkalai, Ed., "BGP CT Update packing Test Results", "update-packing-test-results.txt", 1a75d4d, 25 June 2023,
25 June 2023, <https://raw.githubusercontent.com/ietf-wg- <https://github.com/ietf-wg-idr/draft-ietf-idr-bgp-
idr/draft-ietf-idr-bgp- ct/blob/main/update-packing-test-results.txt>.
ct/1a75d4d10d4df0f1fd7dcc041c2c868704b092c7/update-
packing-test-results.txt>.
[BGP-FWD-RR] [BGP-FWD-RR]
Vairavakkalai, Ed. and Venkataraman, Ed., "BGP Route Vairavakkalai, K., Ed. and N. Venkataraman, Ed., "BGP
Reflector in Forwarding Path", 17 March 2024, Route Reflector with Next Hop Self", Work in Progress,
<https://tools.ietf.org/html/draft-ietf-idr-bgp-fwd-rr- Internet-Draft, draft-ietf-idr-bgp-fwd-rr-03, 17 September
02>. 2024, <https://datatracker.ietf.org/doc/html/draft-ietf-
idr-bgp-fwd-rr-03>.
[BGP-LU-EPE] [BGP-LU-EPE]
Gredler, Ed., "Egress Peer Engineering using BGP-LU", 16 Gredler, H., Ed., Vairavakkalai, K., Ed., R, C.,
June 2023, <https://datatracker.ietf.org/doc/html/draft- Rajagopalan, B., Aries, E., and L. Fang, "Egress Peer
gredler-idr-bgplu-epe-15>. Engineering using BGP-LU", Work in Progress, Internet-
Draft, draft-gredler-idr-bgplu-epe-16, 14 October 2024,
<https://datatracker.ietf.org/doc/html/draft-gredler-idr-
bgplu-epe-16>.
[FLOWSPEC-REDIR-IP] [FLOWSPEC-REDIR-IP]
Simpson, Ed., "BGP Flow-Spec Redirect to IP Action", 8 Uttaro, J., Haas, J., akarch@cisco.com, Ray, S.,
Mohapatra, P., Henderickx, W., Simpson, A., and M. Texier,
"BGP Flow-Spec Redirect-to-IP Action", Work in Progress,
Internet-Draft, draft-ietf-idr-flowspec-redirect-ip-03, 8
September 2024, <https://datatracker.ietf.org/doc/html/ September 2024, <https://datatracker.ietf.org/doc/html/
draft-ietf-idr-flowspec-redirect-ip-03>. draft-ietf-idr-flowspec-redirect-ip-03>.
[INTAREA-TUNNELS] [INTAREA-TUNNELS]
Touch, Ed. and Townsley, Ed., "IP Tunnels in the Internet Touch, J. D. and M. Townsley, "IP Tunnels in the Internet
Architecture", 26 March 2023, Architecture", Work in Progress, Internet-Draft, draft-
<https://datatracker.ietf.org/doc/draft-ietf-intarea- ietf-intarea-tunnels-15, 9 May 2025,
tunnels/13/>. <https://datatracker.ietf.org/doc/html/draft-ietf-intarea-
tunnels-15>.
[Intent-Routing-Color] [Intent-Routing-Color]
Hegde, Ed., "Intent-aware Routing using Color", 23 October Hegde, S., Rao, D., Uttaro, J., Bogdanov, A., and L.
2023, <https://datatracker.ietf.org/doc/html/draft-hr- Jalil, "Problem statement for Inter-domain Intent-aware
spring-intentaware-routing-using-color-03>. Routing using Color", Work in Progress, Internet-Draft,
draft-hr-spring-intentaware-routing-using-color-04, 31
January 2025, <https://datatracker.ietf.org/doc/html/
draft-hr-spring-intentaware-routing-using-color-04>.
[MNH] Vairavakkalai, Ed., "BGP MultiNexthop Attribute", 17 March [MNH] Vairavakkalai, K., Ed., Jeganathan, J. M., Nanduri, M.,
2024, <https://datatracker.ietf.org/doc/html/draft-ietf- and A. R. Lingala, "BGP MultiNexthop Attribute", Work in
idr-multinexthop-attribute-00>. Progress, Internet-Draft, draft-ietf-idr-multinexthop-
attribute-04, 25 March 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-idr-
multinexthop-attribute-04>.
[MPLS-NS] Vairavakkalai, Ed., "BGP signalled MPLS namespaces", 9 [MPLS-NS] Vairavakkalai, K., Ed., Jeganathan, J. M., Ramadenu, P.,
November 2024, <https://datatracker.ietf.org/doc/html/ and I. Means, "BGP Signaled MPLS Namespaces", Work in
draft-kaliraj-bess-bgp-sig-private-mpls-labels-09>. Progress, Internet-Draft, draft-kaliraj-bess-bgp-sig-
private-mpls-labels-09, 9 November 2024,
<https://datatracker.ietf.org/doc/html/draft-kaliraj-bess-
bgp-sig-private-mpls-labels-09>.
[PCEP-RSVP-COLOR] [PCEP-RSVP-COLOR]
Rajagopalan, Ed. and Pavan. Beeram, Ed., "Path Computation Rajagopalan, B., Beeram, V. P., Peng, S., Koldychev, M.,
Element Protocol(PCEP) Extension for RSVP Color", 17 and G. S. Mishra, "Path Computation Element Protocol
February 2025, <https://datatracker.ietf.org/doc/html/ (PCEP) Extension for Color", Work in Progress, Internet-
draft-ietf-pce-pcep-color-11>. Draft, draft-ietf-pce-pcep-color-12, 26 February 2025,
<https://datatracker.ietf.org/doc/html/draft-ietf-pce-
pcep-color-12>.
[PCEP-SRPOLICY] [PCEP-SRPOLICY]
Koldychev, Ed., Sivabalan, Ed., and Barth, Ed., "PCEP Koldychev, M., Sivabalan, S., Sidor, S., Barth, C., Peng,
Extensions for SR Policy Candidate Paths", 9 February S., and H. Bidgoli, "Path Computation Element
2024, <https://www.ietf.org/archive/id/draft-ietf-pce- Communication Protocol (PCEP) Extensions for Segment
segment-routing-policy-cp-14.html>. Routing (SR) Policy Candidate Paths", Work in Progress,
Internet-Draft, draft-ietf-pce-segment-routing-policy-cp-
27, 4 April 2025, <https://datatracker.ietf.org/doc/html/
draft-ietf-pce-segment-routing-policy-cp-27>.
[RFC6890] Cotton, M., Vegoda, L., Bonica, R., Ed., and B. Haberman, [RFC6890] Cotton, M., Vegoda, L., Bonica, R., Ed., and B. Haberman,
"Special-Purpose IP Address Registries", BCP 153, "Special-Purpose IP Address Registries", BCP 153,
RFC 6890, DOI 10.17487/RFC6890, April 2013, RFC 6890, DOI 10.17487/RFC6890, April 2013,
<https://www.rfc-editor.org/info/rfc6890>. <https://www.rfc-editor.org/info/rfc6890>.
[RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol [RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol
Specification", RFC 8205, DOI 10.17487/RFC8205, September Specification", RFC 8205, DOI 10.17487/RFC8205, September
2017, <https://www.rfc-editor.org/info/rfc8205>. 2017, <https://www.rfc-editor.org/info/rfc8205>.
skipping to change at page 66, line 35 skipping to change at line 3095
and A. Gulko, "IGP Flexible Algorithm", RFC 9350, and A. Gulko, "IGP Flexible Algorithm", RFC 9350,
DOI 10.17487/RFC9350, February 2023, DOI 10.17487/RFC9350, February 2023,
<https://www.rfc-editor.org/info/rfc9350>. <https://www.rfc-editor.org/info/rfc9350>.
[RFC9543] Farrel, A., Ed., Drake, J., Ed., Rokui, R., Homma, S., [RFC9543] Farrel, A., Ed., Drake, J., Ed., Rokui, R., Homma, S.,
Makhijani, K., Contreras, L., and J. Tantsura, "A Makhijani, K., Contreras, L., and J. Tantsura, "A
Framework for Network Slices in Networks Built from IETF Framework for Network Slices in Networks Built from IETF
Technologies", RFC 9543, DOI 10.17487/RFC9543, March 2024, Technologies", RFC 9543, DOI 10.17487/RFC9543, March 2024,
<https://www.rfc-editor.org/info/rfc9543>. <https://www.rfc-editor.org/info/rfc9543>.
Appendix A. Extensibility considerations Appendix A. Extensibility Considerations
A.1. Signaling Intent over PE-CE Attachment Circuit A.1. Signaling Intent over a PE-CE Attachment Circuit
It may be desirable to allow a CE device to indicate in the data It may be desirable to allow a CE device to indicate in the data
packet it sends what treatment it desires (the Intent) when the packet it sends what treatment it desires (the Intent) when the
packet is forwarded within the provider network. packet is forwarded within the provider network.
Section A.10 in BGP MultiNexthop Attribute [MNH] describes some Appendix A.10 of [MNH] describes some mechanisms that enable such
mechanisms that enable such signaling. signaling.
A.2. BGP CT Egress TE A.2. BGP CT Egress TE
Mechanisms described in [BGP-LU-EPE] also applies to BGP CT family. Mechanisms described in [BGP-LU-EPE] also apply to the BGP CT family.
The Peer/32 or Peer/128 EPE route MAY be originated in BGP CT family The Peer/32 or Peer/128 EPE route MAY be originated in the BGP CT
with appropriate Mapping Community (e.g. transport-target:0:100), family with the appropriate Mapping Community (e.g., transport-
thus allowing an EPE path to the peer that satisfies the desired SLA. target:0:100), thus allowing an EPE path to the peer that satisfies
the desired SLA.
Appendix B. Applicability to Intra-AS and different Inter-AS Appendix B. Applicability to Intra-AS and Different Inter-AS
deployments. Deployments
As described in BGP VPN [RFC4364] Section 10, in an Option C network, As described in Section 10 of [RFC4364], in an Option C network,
service routes (VPN-IPv4) are neither maintained nor distributed by service routes (VPN-IPv4) are neither maintained nor distributed by
the ASBRs. Transport routes are maintained in the ASBRs and the ASBRs. Transport routes are maintained in the ASBRs and
propagated in BGP LU or BGP CT. propagated in BGP LU or BGP CT.
Illustration of CT Procedures (Section 8) illustrates how constructs Section 8 illustrates how constructs of BGP CT work in an inter-AS
of BGP CT work in an inter-AS Option C deployment. The BGP CT Option C deployment. The BGP CT constructs: AFI/SAFI 1/76, Transport
constructs: AFI/SAFI 1/76, Transport Class and Resolution Scheme are Class, and Resolution Scheme are used in an inter-AS Option C
used in an inter-AS Option C deployment. deployment.
In Intra-AS and Inter-AS option A, option B scenarios, AFI/SAFI 1/76 In Intra-AS and Inter-AS option A and option B scenarios, AFI/SAFI
may not be used, but the Transport Class and Resolution Scheme 1/76 may not be used, but the Transport Class and Resolution Scheme
mechanisms are used to provide service mapping. mechanisms are used to provide service mapping.
This section illustrates how BGP CT constructs work in Intra-AS and This section illustrates how BGP CT constructs work in Intra-AS and
Inter-AS Option A, B deployment scenarios. Inter-AS Option A and B deployment scenarios.
B.1. Intra-AS usecase B.1. Intra-AS Use Case
B.1.1. Topology B.1.1. Topology
[RR11] [RR11]
| |
+ +
[CE21]---[PE11]-------[P1]------[PE12]------[CE31] [CE21]---[PE11]-------[P1]------[PE12]------[CE31]
: : : :
AS2 : ...AS1... : AS3 AS2 : ...AS1... : AS3
: : : :
203.0.113.21 ---- Traffic Direction ----> 203.0.113.31 203.0.113.21 ---- Traffic Direction ----> 203.0.113.31
Figure 14: BGP CT Intra-AS Figure 14: BGP CT Intra-AS
This example in Figure 14 shows a provider network Autonomous system Figure 14 shows a provider network Autonomous System, AS1. It serves
AS1. It serves customers AS2, AS3. Traffic direction being customers AS2 and AS3. Traffic direction being described is CE21 to
described is CE21 to CE31. CE31 may request a specific SLA (e.g. CE31. CE31 may request a specific SLA (e.g., Gold for this traffic)
Gold for this traffic), when traversing this provider network. when traversing this provider network.
B.1.2. Transport Layer B.1.2. Transport Layer
AS1 uses RSVP-TE intra-domain tunnels between PE11 and PE12. And LDP AS1 uses RSVP-TE intra-domain tunnels between PE11 and PE12. And it
tunnels for best effort traffic. uses LDP tunnels for best-effort traffic.
The network has two Transport classes: Gold with Transport Class ID The network has two Transport classes: Gold with Transport Class ID
100, Bronze with Transport Class ID 200. These transport classes are 100 and Bronze with Transport Class ID 200. These transport classes
provisioned at the PEs. This creates the Resolution Schemes for are provisioned at the PEs. This creates the Resolution Schemes for
these transport classes at these PEs. these transport classes at these PEs.
Following tunnels exist for Gold transport class. The following tunnels exist for the Gold transport class:
PE11_to_PE12_gold - RSVP-TE tunnel * PE11_to_PE12_gold - RSVP-TE tunnel
PE12_to_PE11_gold - RSVP-TE tunnel * PE12_to_PE11_gold - RSVP-TE tunnel
Following tunnels exist for Bronze transport class. The following tunnels exist for Bronze transport class:
PE11_to_PE12_bronze - RSVP-TE tunnel * PE11_to_PE12_bronze - RSVP-TE tunnel
PE11_to_PE12_bronze - RSVP-TE tunnel * PE11_to_PE12_bronze - RSVP-TE tunnel
These tunnels are provisioned to belong to transport class 100 or These tunnels are provisioned to belong to transport class 100 or
200. 200.
B.1.3. Service Layer route exchange B.1.3. Service-Layer Route Exchange
Service nodes PE11, PE12 negotiate service families (AFI/SAFI 1/128) Service nodes PE11 and PE12 negotiate service families (AFI/SAFI
on the BGP session with RR11. Service helper RR11 reflects service 1/128) on the BGP session with RR11. Service helper RR11 reflects
routes between the two PEs with next hop unchanged. There are no service routes between the two PEs with the next hop unchanged.
tunnels for transport-class 100 or 200 from RR11 to the PEs. There are no tunnels for transport-class 100 or 200 from RR11 to the
PEs.
Forwarding happens using service routes at service nodes PE11, PE12. Forwarding happens using service routes at service nodes PE11 and
Routes received from CEs are not present in any other nodes' FIB in PE12. Routes received from CEs are not present in any other nodes'
the provider network. FIB in the provider network.
CE31 advertises a route for example prefix 203.0.113.31 with next hop CE31 advertises a route, for example, prefix 203.0.113.31 with the
self to PE12. CE31 can attach a Mapping Community Color:0:100 on next hop set to itself to PE12. CE31 can attach a Mapping Community
this route, to indicate its request for Gold SLA. Or, PE12 can Color:0:100 on this route to indicate its request for a Gold SLA.
attach the same using locally configured policies. Or, PE12 can attach the same using locally configured policies.
Consider, CE31 is getting VPN service from PE12. The RD:203.0.113.31 Consider CE31 getting VPN service from PE12. The RD:203.0.113.31
route is readvertised in AFI/SAFI 1/128 by PE12 with next hop self route is readvertised in AFI/SAFI 1/128 by PE12 with the next hop set
(192.0.2.12) and label V-L1, to RR11 with the Mapping Community to itself (192.0.2.12) and label V-L1 to RR11 with the Mapping
Color:0:100 attached. This AFI/SAFI 1/128 route reaches PE11 via Community Color:0:100 attached. This AFI/SAFI 1/128 route reaches
RR11 with the next hop unchanged as PE12 and label V-L1. Now PE11 PE11 via RR11 with the next hop unchanged as PE12 and label V-L1.
can resolve the PNH 192.0.2.12 using PE11_to_PE12_gold RSVP TE LSP. Now PE11 can resolve the PNH 192.0.2.12 using the PE11_to_PE12_gold
RSVP TE LSP.
The IP FIB at PE11 VRF will have a route for 203.0.113.31 with a next The IP FIB at PE11 VRF will have a route for 203.0.113.31 with a next
hop when resolved using Resolution Scheme belonging to the mapping hop when resolved using the Resolution Scheme belonging to the
community Color:0:100, points to a PE11_to_PE12_gold tunnel. mapping community Color:0:100, points to a PE11_to_PE12_gold tunnel.
BGP CT AFI/SAFI 1/76 is not used in this Intra-AS deployment. But BGP CT AFI/SAFI 1/76 is not used in this Intra-AS deployment. But
the Transport class and Resolution Scheme constructs are used to the Transport class and Resolution Scheme constructs are used to
preserve end-to-end SLA. preserve end-to-end SLA.
B.2. Inter-AS option A usecase B.2. Inter-AS Option A Use Case
B.2.1. Topology B.2.1. Topology
[RR11] [RR21] [RR11] [RR21]
| | | |
+ + + +
[CE31]---[PE11]----[P1]----[ASBR11]---[ASBR21]---[P2]---[PE21]----[CE41] [CE31]---[PE11]----[P1]----[ASBR11]---[ASBR21]---[P2]---[PE21]----[CE41]
: : : : : :
AS3 : ..AS1.. : ..AS2.. : AS4 AS3 : ..AS1.. : ..AS2.. : AS4
: : : : : :
203.0.113.31 -------Traffic Direction------> 203.0.113.41 203.0.113.31 -------Traffic Direction------> 203.0.113.41
Figure 15: BGP CT Inter-AS option A Figure 15: BGP CT Inter-AS Option A
This example in Figure 15 shows two provider network Autonomous This example in Figure 15 shows two provider network Autonomous
systems AS1, AS2. They serve L3VPN customers AS3, AS4 respectively. systems AS1, AS2. They serve L3VPN customers AS3, AS4 respectively.
The ASBRs ASBR11 and ASBR21 have IP VRFs connected directly. The The ASBRs ASBR11 and ASBR21 have IP VRFs connected directly. The
inter-AS link is IP enabled with no MPLS forwarding. inter-AS link is IP enabled with no MPLS forwarding.
Traffic direction being described is CE31 to CE41. CE41 may request Traffic direction being described is CE31 to CE41. CE41 may request
a specific SLA (e.g. Gold for this traffic), when traversing these a specific SLA (e.g., Gold for this traffic), when traversing these
provider core networks. provider core networks.
B.2.2. Transport Layer B.2.2. Transport Layer
AS1 uses RSVP-TE intra-domain tunnels between PE11 and ASBR11. And AS1 uses RSVP-TE intra-domain tunnels between PE11 and ASBR11. And
LDP tunnels for best effort traffic. AS2 uses SRTE intra-domain LDP tunnels for best-effort traffic. AS2 uses SRTE intra-domain
tunnels between ASBR21 and PE21, and L-ISIS for best effort tunnels. tunnels between ASBR21 and PE21, and L-ISIS for best-effort tunnels.
The networks have two Transport classes: Gold with Transport Class ID The networks have two Transport classes: Gold with Transport Class ID
100, Bronze with Transport Class ID 200. These transport classes are 100, Bronze with Transport Class ID 200. These transport classes are
provisioned at the PEs and ASBRs. This creates the Resolution provisioned at the PEs and ASBRs. This creates the Resolution
Schemes for these transport classes at these PEs and ASBRs. Schemes for these transport classes at these PEs and ASBRs.
Following tunnels exist for Gold transport class. Following tunnels exist for Gold transport class.
PE11_to_ASBR11_gold - RSVP-TE tunnel * PE11_to_ASBR11_gold - RSVP-TE tunnel
ASBR11_to_PE11_gold - RSVP-TE tunnel * ASBR11_to_PE11_gold - RSVP-TE tunnel
PE21_to_ASBR21_gold - SRTE tunnel * PE21_to_ASBR21_gold - SRTE tunnel
ASBR21_to_PE21_gold - SRTE tunnel
* ASBR21_to_PE21_gold - SRTE tunnel
Following tunnels exist for Bronze transport class. Following tunnels exist for Bronze transport class.
PE11_to_ASBR11_bronze - RSVP-TE tunnel * PE11_to_ASBR11_bronze - RSVP-TE tunnel
ASBR11_to_PE11_bronze - RSVP-TE tunnel * ASBR11_to_PE11_bronze - RSVP-TE tunnel
PE21_to_ASBR21_bronze - SRTE tunnel * PE21_to_ASBR21_bronze - SRTE tunnel
ASBR21_to_PE21_bronze - SRTE tunnel * ASBR21_to_PE21_bronze - SRTE tunnel
These tunnels are provisioned to belong to transport class 100 or These tunnels are provisioned to belong to transport class 100 or
200. 200.
B.2.3. Service Layer route exchange B.2.3. Service Layer Route Exchange
Service nodes PE11, ASBR11 negotiate service family (AFI/SAFI 1/128) Service nodes PE11, ASBR11 negotiate service family (AFI/SAFI 1/128)
on the BGP session with RR11. Service helper RR11 reflects service on the BGP session with RR11. Service helper RR11 reflects service
routes between the PE11 and ASBR11 with next hop unchanged. routes between the PE11 and ASBR11 with next hop unchanged.
Similarly, in AS2 PE21, ASBR21 negotiate service family (AFI/SAFI Similarly, in AS2 PE21, ASBR21 negotiate service family (AFI/SAFI
1/128) on the BGP session with RR21, which reflects service routes 1/128) on the BGP session with RR21, which reflects service routes
between the PE21 and ASBR21 with next hop unchanged. between the PE21 and ASBR21 with next hop unchanged.
CE41 advertises a route for example prefix 203.0.113.41 with next hop CE41 advertises a route for example prefix 203.0.113.41 with next hop
skipping to change at page 70, line 45 skipping to change at line 3301
route is readvertised in AFI/SAFI 1/128 by PE21 with next hop self route is readvertised in AFI/SAFI 1/128 by PE21 with next hop self
(203.0.113.21) and label V-L1 to RR21 with the Mapping Community (203.0.113.21) and label V-L1 to RR21 with the Mapping Community
Color:0:100 attached. This AFI/SAFI 1/128 route reaches ASBR21 via Color:0:100 attached. This AFI/SAFI 1/128 route reaches ASBR21 via
RR21 with the next hop unchanged as PE21 and label V-L1. Now ASBR21 RR21 with the next hop unchanged as PE21 and label V-L1. Now ASBR21
can resolve the PNH 203.0.113.21 using ASBR21_to_PE21_gold SRTE LSP. can resolve the PNH 203.0.113.21 using ASBR21_to_PE21_gold SRTE LSP.
The IP FIB at ASBR21 VRF will have a route for 203.0.113.41 with a The IP FIB at ASBR21 VRF will have a route for 203.0.113.41 with a
next hop resolved using Resolution Scheme associated with mapping next hop resolved using Resolution Scheme associated with mapping
community Color:0:100, pointing to ASBR21_to_PE21_gold tunnel. community Color:0:100, pointing to ASBR21_to_PE21_gold tunnel.
This route is readvertised with next hop self by ASBR21 to ASBR11 on This route is readvertised with the next hop set to itself by ASBR21
BGP session in the VRF. The single-hop EBGP session endpoints are to ASBR11 on a BGP session in the VRF. The single-hop EBGP session
interface addresses. ASBR21 and ASBR11 act like a CE to each other. endpoints are interface addresses. ASBR21 and ASBR11 act like a CE
The previously mentioned process repeats in AS1, until the route to each other. The previously mentioned process repeats in AS1 until
reaches PE11 and resolves over PE11_to_ASBR11_gold RSVP TE tunnel. the route reaches PE11 and resolves over the PE11_to_ASBR11_gold RSVP
TE tunnel.
Traffic traverses as unlabeled IP packet on the following legs: Traffic traverses as an unlabeled IP packet on the following legs:
CE31-PE11, ASBR11-ASBR21, PE21-CE41. And uses MPLS forwarding inside CE31-PE11, ASBR11-ASBR21, PE21-CE41. And it uses MPLS forwarding
AS1, AS2 core. inside the AS1 and AS2 core.
BGP CT AFI/SAFI 1/76 is not used in this Inter-AS Option B BGP CT AFI/SAFI 1/76 is not used in this Inter-AS Option B
deployment. But the Transport class and Resolution Scheme constructs deployment. But the Transport class and Resolution Scheme constructs
are used to preserve end-to-end SLA. are used to preserve an end-to-end SLA.
B.3. Inter-AS option B usecase B.3. Inter-AS Option B Use Case
B.3.1. Topology B.3.1. Topology
[RR13] [RR23] [RR13] [RR23]
| | | |
+ + + +
[CE31]---[PE11]----[P1]----[ASBR12]---[ASBR21]---[P2]---[PE22]----[CE41] [CE31]---[PE11]----[P1]----[ASBR12]---[ASBR21]---[P2]---[PE22]----[CE41]
: : : : : :
AS3 : ..AS1.. : ..AS2.. : AS4 AS3 : ..AS1.. : ..AS2.. : AS4
: : : : : :
203.0.113.31 ---- Traffic Direction ----> 203.0.113.41 203.0.113.31 ---- Traffic Direction ----> 203.0.113.41
Figure 16: BGP CT Inter-AS option B Figure 16: BGP CT Inter-AS Option B
This example in Figure 16 shows two provider network Autonomous Figure 16 shows two provider network Autonomous Systems: AS1 and AS2.
systems AS1 and AS2. They serve L3VPN customers AS3 and AS4 They serve L3VPN customers AS3 and AS4, respectively. The ASBRs
respectively. The ASBRs ASBR12 and ASBR21 don't have any IP VRFs. ASBR12 and ASBR21 don't have any IP VRFs. The inter-AS link is MPLS-
The inter-AS link is MPLS forwarding enabled. forwarding enabled.
Traffic direction being described is CE31 to CE41. CE41 may request Traffic direction being described is CE31 to CE41. CE41 may request
a specific SLA (e.g. Gold for this traffic), when traversing these a specific SLA (e.g., Gold for this traffic) when traversing these
provider core networks. provider core networks.
B.3.2. Transport Layer B.3.2. Transport Layer
AS1 uses RSVP-TE intra-domain tunnels between PE11 and ASBR21. And AS1 uses RSVP-TE intra-domain tunnels between PE11 and ASBR21 and LDP
LDP tunnels for best effort traffic. AS2 uses SRTE intra-domain tunnels for best-effort traffic. AS2 uses SRTE intra-domain tunnels
tunnels between ASBR21 and PE22, and L-ISIS for best effort tunnels. between ASBR21 and PE22 along with L-ISIS for best-effort tunnels.
The networks have two Transport classes: Gold with Transport Class ID The networks have two Transport classes: Gold with Transport Class ID
100, Bronze with Transport Class ID 200. These transport classes are 100 and Bronze with Transport Class ID 200. These transport classes
provisioned at the PEs and ASBRs. This creates the Resolution are provisioned at the PEs and ASBRs. This creates the Resolution
Schemes for these transport classes at these PEs and ASBRs. Schemes for these transport classes at these PEs and ASBRs.
Following tunnels exist for Gold transport class. The following tunnels exist for Gold transport class:
PE11_to_ASBR12_gold - RSVP-TE tunnel * PE11_to_ASBR12_gold - RSVP-TE tunnel
ASBR12_to_PE11_gold - RSVP-TE tunnel
PE22_to_ASBR21_gold - SRTE tunnel * ASBR12_to_PE11_gold - RSVP-TE tunnel
ASBR21_to_PE22_gold - SRTE tunnel * PE22_to_ASBR21_gold - SRTE tunnel
Following tunnels exist for Bronze transport class. * ASBR21_to_PE22_gold - SRTE tunnel
PE11_to_ASBR12_bronze - RSVP-TE tunnel The following tunnels exist for Bronze transport class:
ASBR12_to_PE11_bronze - RSVP-TE tunnel * PE11_to_ASBR12_bronze - RSVP-TE tunnel
PE22_to_ASBR21_bronze - SRTE tunnel * ASBR12_to_PE11_bronze - RSVP-TE tunnel
ASBR21_to_PE22_bronze - SRTE tunnel * PE22_to_ASBR21_bronze - SRTE tunnel
* ASBR21_to_PE22_bronze - SRTE tunnel
These tunnels are provisioned to belong to transport class 100 or These tunnels are provisioned to belong to transport class 100 or
200. 200.
B.3.3. Service Layer route exchange B.3.3. Service-Layer Route Exchange
Service nodes PE11, ASBR12 negotiate service family (AFI/SAFI 1/128) Service nodes PE11 and ASBR12 negotiate service family (AFI/SAFI
on the BGP session with RR13. Service helper RR13 reflects service 1/128) on the BGP session with RR13. Service helper RR13 reflects
routes between the PE11 and ASBR12 with next hop unchanged. service routes between the PE11 and ASBR12 with the next hop
unchanged.
Similarly, in AS2 PE22, ASBR21 negotiate service family (AFI/SAFI Similarly, in AS2 PE22, ASBR21 negotiates service family (AFI/SAFI
1/128) on the BGP session with RR23, which reflects service routes 1/128) on the BGP session with RR23, which reflects service routes
between the PE22 and ASBR21 with next hop unchanged. between PE22 and ASBR21 with the next hop unchanged.
ASBR21 and ASBR12 negotiate AFI/SAFI 1/128 between them, and ASBR21 and ASBR12 negotiate AFI/SAFI 1/128 between them and
readvertise L3VPN routes with next hop self, allocating new labels. readvertise L3VPN routes with the next hop set to themselves,
The single-hop EBGP session endpoints are interface addresses. allocating new labels. The single-hop EBGP session endpoints are
interface addresses.
CE41 advertises a route for example prefix 203.0.113.41 with next hop CE41 advertises a route, for example, prefix 203.0.113.41 with the
self to PE22 VRF. CE41 can attach a Mapping Community Color:0:100 on next hop set to itself to PE22 VRF. CE41 can attach a Mapping
this route, to indicate its request for Gold SLA. Or, PE22 can Community Color:0:100 on this route to indicate its request for the
attach the same using locally configured policies. Gold SLA. Or, PE22 can attach the same using locally configured
policies.
Consider, CE41 is getting VPN service from PE22. The RD:203.0.113.41 Consider CE41 getting VPN service from PE22. The RD:203.0.113.41
route is readvertised in AFI/SAFI 1/128 by PE22 with next hop self route is readvertised in AFI/SAFI 1/128 by PE22 with the next hop set
(192.0.2.22) and label V-L1 to RR23 with the Mapping Community to itself (192.0.2.22) and label V-L1 to RR23 with the Mapping
Color:0:100 attached. This AFI/SAFI 1/128 route reaches ASBR21 via Community Color:0:100 attached. This AFI/SAFI 1/128 route reaches
RR23 with the next hop unchanged as PE22 and label V-L1. Now ASBR21 ASBR21 via RR23 with the next hop unchanged as PE22 and label V-L1.
can resolve the PNH 192.0.2.22 using ASBR21_to_PE22_gold SRTE LSP. Now ASBR21 can resolve the PNH 192.0.2.22 using ASBR21_to_PE22_gold
SRTE LSP.
Next, ASBR21 readvertises the RD:203.0.113.41 route with next hop Next, ASBR21 readvertises the RD:203.0.113.41 route with the next hop
self to ASBR12 with a newly allocated MPLS label V-L2. Forwarding set to itself to ASBR12 with a newly allocated MPLS label V-L2.
for this label is installed to Swap V-L1, and Push labels for Forwarding for this label is installed to Swap V-L1, and Push labels
ASBR21_to_PE22_gold tunnel. for ASBR21_to_PE22_gold tunnel.
ASBR12 further readvertises the RD:203.0.113.41 route via RR13 to ASBR12 further readvertises the RD:203.0.113.41 route via RR13 to
PE11 with next hop self 192.0.2.12. PE11 resolves the next hop PE11 with the next hop set to itself, 192.0.2.12. PE11 resolves the
192.0.2.12 over PE11_to_ASBR12_gold RSVP TE tunnel. next hop 192.0.2.12 over PE11_to_ASBR12_gold RSVP TE tunnel.
Traffic traverses as IP packet on the following legs: CE31-PE11 and Traffic traverses as the IP packet on the following legs: CE31-PE11
PE21-CE41. And uses MPLS forwarding on ASBR11-ASBR21 link, and and PE21-CE41. And it uses MPLS forwarding on the ASBR11-ASBR21 link
inside AS1-AS2 core. and inside the AS1-AS2 core.
BGP CT AFI/SAFI 1/76 is not used in this Inter-AS Option B BGP CT AFI/SAFI 1/76 is not used in this Inter-AS Option B
deployment. But the Transport class and Resolution Scheme constructs deployment. But the Transport class and Resolution Scheme constructs
are used to preserve end-to-end SLA. are used to preserve an end-to-end SLA.
Appendix C. Why reuse RFC 8277 and RFC 4364? Appendix C. Why reuse RFCs 8277 and 4364?
RFC 4364 is one of the key design patterns produced by networking [RFC4364] is one of the key design patterns produced by the
industry. It introduced virtualization and allowed sharing of networking industry. It introduced virtualization and allowed
resources in service provider space with multiple tenant networks, sharing of resources in the service provider space with multiple
providing isolated and secure Layer3 VPN services. This design tenant networks, providing isolated and secure Layer 3 VPN services.
pattern has been reused since to provide other service layer This design pattern has been reused since to provide other service-
virtualizations like Layer2 virtualization (VPLS, L2VPN, EVPN), ISO layer virtualizations like Layer 2 virtualization (VPLS, L2VPN,
virtualization, ATM virtualization, Flowspec VPN. EVPN), ISO virtualization, ATM virtualization, and Flowspec VPN.
It is to be noted that these services have different NLRI encoding. It is to be noted that these services have different NLRI encodings.
L3VPN Service family that binds MPLS label to an IP prefix use RFC The L3VPN Service family that binds the MPLS label to an IP prefix
8277 encoding, and others define different NLRI encodings. uses the encoding described in [RFC8277] and others define different
NLRI encodings.
BGP CT reuses RFC 4364 procedures to slice a transport network into BGP CT reuses the procedures described in [RFC4364] to slice a
multiple transport planes that different service routes can bind to, transport network into multiple transport planes that different
using color. service routes can bind to using color.
BGP CT reuses RFC 8277 because it precisely fits the purpose. viz. In BGP CT reuses [RFC8277] because it precisely fits the purpose. That
a MPLS network, BGP CT needs to bind MPLS label for transport is, in an MPLS network, BGP CT needs to bind the MPLS label for
endpoints which are IPv4 or IPv6 endpoints, and disambiguate between transport endpoints, which are IPv4 or IPv6 endpoints, and
multiple instances of those endpoints in multiple transport planes. disambiguate between multiple instances of those endpoints in
Hence, use of RD:IP_Prefix and carrying a Label for it as specified multiple transport planes. Hence, use of the RD:IP_Prefix and
in RFC 8277 works well for this purpose. carrying a Label for it as specified in [RFC8277] works well for this
purpose.
Another advantage of using the precise encoding as defined in RFC Another advantage of using the precise encoding as defined in
4364 and RFC 8277 is that it allows to interoperate with BGP speakers [RFC4364] and [RFC8277] is that it allows interoperation with BGP
that support SAFI 128 for AFIs 1 or 2. This can be useful during speakers that support SAFI 128 for AFIs 1 or 2. This can be useful
transition, until all BGP speakers in the network support BGP CT. during transition until all BGP speakers in the network support BGP
CT.
In future, if RFC 8277 evolves into a typed NLRI, that does not carry In the future, if [RFC8277] evolves into a typed NLRI that does not
Label in the NLRI, BGP CT will be compatible with that as-well. In carry Label in the NLRI, BGP CT will be compatible with that as well.
essence, BGP CT encoding is compatible with existing deployed In essence, BGP CT encoding is compatible with existing deployed
technologies (RFC 4364, RFC 8277) and will adapt to any changes RFC technologies ([RFC4364] and [RFC8277]) and will adapt to any changes
8277 mechanisms undergo in future. mechanisms from [RFC8277] undergo in future.
This approach leverages the benefits of time tested design patterns This approach leverages the benefits of time-tested design patterns
proposed in RFC 4364 and RFC 8277. Moreover, this approach greatly proposed in [RFC4364] and [RFC8277]. Moreover, this approach greatly
reduces operational training costs and protocol compatibility reduces operational training costs and protocol compatibility
considerations, as it complements and works well with existing considerations as it complements and works well with existing
protocol machineries. This problem does not need reinventing the protocol machineries: this problem does not need a brand new NLRI and
wheel with brand new NLRI and procedures. procedures.
BGP CT design also avoids overloading RFC 8277 NLRI MPLS Label field BGP CT design also avoids overloading the NLRI MPLS Label field from
with information related to non MPLS data plane, because it leads to [RFC8277] with information related to the non-MPLS data plane because
backward compatibility issues. it leads to backward-compatibility issues.
C.1. Update packing considerations C.1. Update Packing Considerations
BGP CT carries transport class as an attribute. This means routes BGP CT carries transport class as an attribute. This means routes
that don't share the same transport class cannot be packed into same that don't share the same transport class cannot be packed into the
Update message. Update packing in BGP CT will be similar to RFC 8277 same BGP UPDATE message. Update packing in BGP CT will be similar to
family routes carrying attributes like communities or extended family routes from [RFC8277] carrying attributes like communities or
communities. Service families like AFI/SAFI 1/128 have considerably extended communities. Service families like AFI/SAFI 1/128 have
more scale than transport families like AFI/SAFI 1/4 or AFI/SAFI considerably more scale than transport families like AFI/SAFI 1/4 or
1/76, which carry only loopbacks. Update packing mechanisms that AFI/SAFI 1/76, which carry only loopbacks. Update packing mechanisms
scale for AFI/SAFI 1/128 routes will scale similarly for AFI/SAFI that scale for AFI/SAFI 1/128 routes will scale similarly for AFI/
1/76 routes also. SAFI 1/76 routes.
Section 6.3.2.1 of [Intent-Routing-Color] suggests scaling numbers Section 6.3.2.1 of [Intent-Routing-Color] suggests scaling numbers
for transport network where BGP CT can be deployed. Experiments were for a transport network where BGP CT can be deployed. Experiments
conducted with this scale to find the convergence time with BGP CT were conducted with this scale to find the convergence time with BGP
for those scaling numbers. Scenarios involving BGP CT carrying IPv4 CT for those scaling numbers. Scenarios involving BGP CT carrying
and IPv6 endpoints with MPLS label were tested. Tests with BGP CT IPv4 and IPv6 endpoints with an MPLS label were tested. Tests with
IPv6 endpoints and SRv6 SID are planned. BGP CT IPv6 endpoints and SRv6 SID are planned.
Tests were conducted with 1.9 million BGP CT route scale (387K Tests were conducted with a 1.9 million BGP CT route scale (387K
endpoints in 5 transport classes). Initial convergence time for all endpoints in 5 transport classes). Initial convergence time for all
cases was less than 2 minutes, which compares favorably with user cases was less than 2 minutes, which compares favorably with user
expectation for such a scale. This experiment proves that carrying expectation for such a scale. This experiment proves that carrying
transport class information as an attribute keeps BGP convergence transport-class information as an attribute keeps BGP convergence
within acceptable range. Details of the experiment and test results within an acceptable range. Details of the experiment and test
are available in BGP CT Update packing Test Results results are available in [BGP-CT-UPDATE-PACKING-TEST].
[BGP-CT-UPDATE-PACKING-TEST].
Furthermore, even in today's BGP LU deployments each egress node Furthermore, even in today's BGP LU deployments, each egress node
originates BGP LU route for it's loopback, with some attributes like originates a BGP LU route for its loopback, with some attributes like
community identifying the originating node or region, and AIGP community identifying the originating node or region and an AIGP
attribute. These attributes may be unique per egress node, thus do attribute. These attributes may be unique per egress node; thus,
not help with update packing in transport family routes. they do not help with update packing in transport family routes.
Appendix D. Scaling using BGP MPLS Namespaces Appendix D. Scaling Using BGP MPLS Namespaces
This document considers scaling scenario suggested in Section 6.3.2.1 This document considers the scaling scenario suggested in
of [Intent-Routing-Color] where 300K nodes exist in the network with Section 6.3.2.1 of [Intent-Routing-Color] where 300K nodes exist in
5 transport classes. the network with 5 transport classes.
This may result in 1.5M transport layer routes and MPLS transit This may result in 1.5M transport layer routes and MPLS transit
routes in all Border Nodes in the network, which may overwhelm the routes in all Border Nodes in the network, which may overwhelm the
nodes' MPLS forwarding resources. nodes' MPLS-forwarding resources.
Section 6.2 of [MPLS-NS] describes how MPLS Namespaces mechanism is Section 6.2 of [MPLS-NS] describes how MPLS Namespaces mechanism is
used to scale such a network. This approach reduces the number of used to scale such a network. This approach reduces the number of
PNHs that are globally visible in the network, thus reducing PNHs that are globally visible in the network, thus reducing
forwarding resource usage network wide. Service route state is kept forwarding resource usage network wide. Service-route state is kept
confined closer to network edge, and any churn is confined within the confined closer to network edge, and any churn is confined within the
region containing the point of failure, which improves convergence region containing the point of failure, which improves convergence
also. also.
Acknowledgements
The authors thank Jeff Haas, John Scudder, Susan Hares, Dongjie
(Jimmy), Moses Nagarajah, Jeffrey (Zhaohui) Zhang, Joel Halpern,
Jingrong Xie, Mohamed Boucadair, Greg Skinner, Simon Leinen,
Navaneetha Krishnan, Ravi M R, Chandrasekar Ramachandran, Shradha
Hegde, Colby Barth, Vishnu Pavan Beeram, Sunil Malali, William J
Britto, R Shilpa, Ashish Kumar (FE), Sunil Kumar Rawat, Abhishek
Chakraborty, Richard Roberts, Krzysztof Szarkowicz, John E Drake,
Srihari Sangli, Jim Uttaro, Luay Jalil, Keyur Patel, Ketan
Talaulikar, Dhananjaya Rao, Swadesh Agarwal, Robert Raszuk, Ahmed
Darwish, Aravind Srinivas Srinivasa Prabhakar, Moshiko Nayman, Chris
Tripp, Gyan Mishra, Vijay Kestur, and Santosh Kolenchery for all the
valuable discussions, constructive criticisms, and review comments.
The decision to not reuse SAFI 128 and create a new address family to
carry these transport routes was based on suggestion made by Richard
Roberts and Krzysztof Szarkowicz.
Thanks to John Scudder for showing us with example how the Figures
can be enhanced using SVG format.
Contributors Contributors
Co-Authors The following people contributed substantially to the content of this
document and should be considered coauthors:
Reshma Das Reshma Das
Juniper Networks, Inc. Juniper Networks, Inc.
1133 Innovation Way, 1133 Innovation Way
Sunnyvale, CA 94089 Sunnyvale, CA 94089
United States of America United States of America
Email: dreshma@juniper.net Email: dreshma@juniper.net
Israel Means Israel Means
AT&T AT&T
2212 Avenida Mara, 2212 Avenida Mara
Chula Vista, California 91914 Chula Vista, California 91914
United States of America United States of America
Email: israel.means@att.com Email: israel.means@att.com
Csaba Mate Csaba Mate
KIFU, Hungarian NREN KIFU, Hungarian NREN
Budapest Budapest
35 Vaci street, 35 Vaci Street
1134 1134
Hungary Hungary
Email: ietf@nop.hu Email: ietf@nop.hu
Deepak J Gowda Deepak J Gowda
Extreme Networks Extreme Networks
55 Commerce Valley Drive West, Suite 300, 55 Commerce Valley Drive West, Suite 300
Thornhill, Toronto, Ontario L3T 7V9 Thornhill, Toronto Ontario L3T 7V9
Canada Canada
Email: dgowda@extremenetworks.com Email: dgowda@extremenetworks.com
Other Contributors We also acknowledge the contribution of the following individuals:
Balaji Rajagopalan Balaji Rajagopalan
Juniper Networks, Inc. Juniper Networks, Inc.
Electra, Exora Business Park~Marathahalli - Sarjapur Outer Ring Road, Electra, Exora Business Park~Marathahalli - Sarjapur Outer Ring Road
Bangalore 560103 Bangalore 560103
KA KA
India India
Email: balajir@juniper.net Email: balajir@juniper.net
Rajesh M Rajesh M
Juniper Networks, Inc. Juniper Networks, Inc.
Electra, Exora Business Park~Marathahalli - Sarjapur Outer Ring Road, Electra, Exora Business Park~Marathahalli - Sarjapur Outer Ring Road
Bangalore 560103 Bangalore 560103
KA KA
India India
Email: mrajesh@juniper.net Email: mrajesh@juniper.net
Chaitanya Yadlapalli Chaitanya Yadlapalli
AT&T AT&T
200 S Laurel Ave, 200 S Laurel Ave
Middletown,, NJ 07748 Middletown, NJ 07748
United States of America United States of America
Email: cy098d@att.com Email: cy098d@att.com
Mazen Khaddam Mazen Khaddam
Cox Communications Inc. Cox Communications Inc.
Atlanta, GA Atlanta, GA
United States of America United States of America
Email: mazen.khaddam@cox.com Email: mazen.khaddam@cox.com
Rafal Jan Szarecki Rafal Jan Szarecki
Google. Google
1160 N Mathilda Ave, Bldg 5, 1160 N Mathilda Ave, Bldg 5
Sunnyvale,, CA 94089 Sunnyvale, CA 94089
United States of America United States of America
Email: szarecki@google.com Email: szarecki@google.com
Xiaohu Xu Xiaohu Xu
China Mobile China Mobile
Beijing Beijing
China China
Email: xuxiaohu@cmss.chinamobile.com Email: xuxiaohu@cmss.chinamobile.com
Acknowledgements
The authors thank Jeff Haas, John Scudder, Susan Hares, Dongjie
(Jimmy), Moses Nagarajah, Jeffrey (Zhaohui) Zhang, Joel Halpern,
Jingrong Xie, Mohamed Boucadair, Greg Skinner, Simon Leinen,
Navaneetha Krishnan, Ravi M R, Chandrasekar Ramachandran, Shradha
Hegde, Colby Barth, Vishnu Pavan Beeram, Sunil Malali, William J
Britto, R Shilpa, Ashish Kumar (FE), Sunil Kumar Rawat, Abhishek
Chakraborty, Richard Roberts, Krzysztof Szarkowicz, John E Drake,
Srihari Sangli, Jim Uttaro, Luay Jalil, Keyur Patel, Ketan
Talaulikar, Dhananjaya Rao, Swadesh Agarwal, Robert Raszuk, Ahmed
Darwish, Aravind Srinivas Srinivasa Prabhakar, Moshiko Nayman, Chris
Tripp, Gyan Mishra, Vijay Kestur, Santosh Kolenchery for all the
valuable discussions, constructive criticisms, and review comments.
The decision to not reuse SAFI 128 and create a new address-family to
carry these transport-routes was based on suggestion made by Richard
Roberts and Krzysztof Szarkowicz.
Thanks to John Scudder for showing us with example how the Figures
can be enhanced using SVG format.
Authors' Addresses Authors' Addresses
Kaliraj Vairavakkalai (editor) Kaliraj Vairavakkalai (editor)
Juniper Networks, Inc. Juniper Networks, Inc.
1133 Innovation Way, 1133 Innovation Way
Sunnyvale, CA 94089 Sunnyvale, CA 94089
United States of America United States of America
Email: kaliraj@juniper.net Email: kaliraj@juniper.net
Natrajan Venkataraman (editor) Natrajan Venkataraman (editor)
Juniper Networks, Inc. Juniper Networks, Inc.
1133 Innovation Way, 1133 Innovation Way
Sunnyvale, CA 94089 Sunnyvale, CA 94089
United States of America United States of America
Email: natv@juniper.net Email: natv@juniper.net
 End of changes. 639 change blocks. 
1694 lines changed or deleted 1811 lines changed or added

This html diff was produced by rfcdiff 1.48.