PCEP Procedures and Protocol Extensions for Using PCE as a Central Controller (PCECC) of BIER-TE
Internet-Draft draft-chen-pce-controller-bier-te-06
Ran Chen
ZTE Corporation
Nanjing
China
chen.ran@zte.com.cn
BenChong Xu
ZTE Corporation
Nanjing
China
xu.benchong@zte.com.cn
Chun Zhu
ZTE Corporation
Nanjing
China
zhu.chun@zte.com.cn
Huaimo Chen
Futurewei
Nanjing
United States of America
Huaimo.chen@futurewei.com
Aijun Wang
China Telecom
Nanjing
China
wangaj3@chinatelecom.cn
2024
Routing
PCE
Internet Draft
This draft specify extensions to PCEP protocol when a PCE-based controller is responsible for allocates the BIER-TE information(BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc), then PCC generate a "Bit Index Forwarding Table"(BIFT).
Introduction
[RFC8283]introduces the architecture for PCE as a central controller as an extension of the architecture described in[RFC4655] and assumes the continued use of PCEP as the protocol used between PCE and PCC. [RFC8283]further examines the motivations and applicability for PCEP as a Southbound Interface (SBI), and introduces the implications for the protocol.
[RFC9050]specify the procedures and PCEP protocol extensions for using the PCE as the central controller for static LSPs, where LSPs can be provisioned as explicit label instructions at each hop on the end-to-end path. Each router along the path must be told what label-forwarding instructions to program and what resources to reserve. The PCE-based controller keeps a view of the network and determines the paths of the end-to-end LSPs, and the controller uses PCEP to communicate with each router along the path of the end-to-end LSP.
Tree Engineering for Bit Index Explicit Replication" (BIER-TE) shares architecture and packet formats with BIER as described in [RFC8279]. BIER-TE forwards and replicates packets based on a BitString in the packet header, but every BitPosition of the BitString of a BIER-TE packet indicates one or more adjacencies as described in [RFC9262].
This draft specify extensions to PCEP protocol when a PCE-based controller is responsible for allocates the BIER-TE information(BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc), then PCC generate a "Bit Index Forwarding Table"(BIFT).

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.
PCECC BIER Requirements
Following key requirements for PCECC-BIER should be considered when`designing the PCECC based solution:
- PCEP speaker supporting this draft needs to have the capability to advertise its PCECC BIER-TE capability to its peers.
- PCEP speaker not supporting this draft needs to be able to reject PCECC BIER-TE related message with a reason code that indicates no support for PCECC.
- PCEP procedures needs to provide a means to update (or cleanup) the BIER-TE related informations (BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc) to the PCC.
- PCEP procedures needs to provide a means to update (or cleanup) the BIER-TE "Bit Index Forwarding Table" (BIFT) to the PCC.
- PCEP procedures needs to provide a means to synchronize the BIER-TE related informations(BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc) between PCE to PCC in the PCEP messages.
Procedures for Using the PCE as the Central Controller (PCECC) in BIER-TE
Active stateful PCE is described in [RFC8231]. PCE as a central controller (PCECC) reuses existing Active stateful PCE mechanism as much as possible to control the LSP.
This document uses the same PCEP messages and its extensions which are described in [RFC9050] for PCECC BIER-TE as well.
PCEP messages PCRpt, PCInitiate, PCUpd are also used to send LSP Reports, LSP setup and LSP update respectively. The extended PCInitiate message described in [RFC9050] is used to download or cleanup central controller's instructions (CCIs) (BIER-TE related informations and "Bit Index Forwarding Table" (BIFT) in scope of this document). The extended PCRpt message described in [RFC9050] is also used to report the CCIs (BIER-TE related informations) from PCC to PCE.
[RFC9050] specify an object called CCI for the encoding of central controller's instructions. This document extends the CCI by defining another object-type for BIER-TE.
PCECC Capability Advertisement
During PCEP Initialization Phase, PCEP Speakers (PCE or PCC) advertise their support of PCECC extensions. A PCEP Speaker includes the "PCECC Capability" sub-TLV, described in [RFC9050].
This document adds T-bit in PCECC-CAPABILITY sub-TLV for BIER-TE.
New BIER Path Setup
The PCEP messages pertaining to PCECC BIER-TE MUST include PATH-SETUP-TYPE TLV [RFC8408] with PST=TBD in the SRP object to clearly identify the PCECC BIER-TE is intended.
PCECC BIER-TE information allocation and Generation of BFIT
Each node (PCC) is allocated a node BIER-TE information by the PCECC. The BIER-TE information mainly includes BIER subdomain-id, adjacencies BitPosition(s), and Adjacency Types etc. In scenarios where the IGP protocol is not used/available, Each node (PCC) is allocated its own and neighbor BIER-TE informations by the PCECC, then PCC generates a BIFT based on the informations it receives. The BIFT mainly includes BFR ID, F-BM and BFR nexthop.
Redundant PCEs
[I-D.ietf-pce-state-sync] describes synchronization mechanism between the stateful PCEs. The BIER-TE informations allocated by a PCE MUST also be synchronized among PCEs for PCECC BIER-TE state synchronization.
Re Delegation and Cleanup
[RFC9050] describes the action needed for CCIs for the Basic PCECC LSP on this terminated session.Similarly actions should be applied for the BIER-TE information as well.
Synchronization of BIER-TE information Allocations
[RFC9050] describes the synchronization of Central Controller's Instructions (CCI) via LSP state synchronization as described in [RFC8231] and [RFC8232].Same procedures should be applied for BIER-TE information and "Bit Index Forwarding Table" (BIFT) allocations as well.
PCEP extension
The OPEN Object
PCECC Capability sub-TLV
[RFC9050] defined the PCECC-CAPABILITY TLV. A new T-bit is defined in PCECC-CAPABILITY sub-TLV for PCECC BIER-TE:

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type=TBD                  |               Length          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                Flags                                    |T|I|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:
T (PCECC BIER-TE CAPABILITY - 1 bit): If set to 1 by a PCEP speaker, it indicates that the PCEP speaker is capable for PCECC BIER-TE capability and PCE would allocate BIER-TE information on this session.
PATH-SETUP-TYPE TLV
The PATH-SETUP-TYPE TLV is defined in [RFC8408]. PST = TBD is used when Path is setup via PCECC BIER-TE mode.On a PCRpt/PCUpd/PCInitiate message, the PST=TBD indicates that this path was setup via a PCECC BIER-TE based mechanism where either the BIER-TE informations and BIER-TE "Bit Index Forwarding Table" (BIFT) were allocated/instructed by PCE via PCECC mechanism.
CCI object
The Central Control Instructions (CCI) Object is used by the PCE to specify the forwarding instructions is defined in [RFC9050]. This document defines another object-type for BIER-TE purpose.
CCI Object-Type is TBD for BIER-TE as below

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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                CC-ID                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| subdomain-ID  |     BSL       |           Flags               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      SI       |adj-t|           BitPosition         | Reserved|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
//                       Optional TLV                          //
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

where:
The field CC-ID is as described in [RFC9050].
BIER subdomain-ID: Unique value identifying the BIER subdomain. (as defined in [RFC8401].
BSL: A 1 octet field encodes the length in bits of the BitString as per [RFC8296], the maximum length of the BitString is 5,it indicates the length of BitString is 1024.It is used to refer to the number of bits in the BitString.
SI: Set Identifier (Section 1 of [RFC8279] used in the encapsulation for this BIER subdomain for this BitString length, 1 octet.
BitPositions: BitPositions indicate adjacencies,16bit.
The "Reserved" (1 octets) fields are currently unused, and MUST be set to zero on transmission and ignored on reception.
Adjacency Types:There are three types in this document.
- 0b000:Forward Connected.
- 0b001:Forward Routed.
- 0b010: Local Decap.
- ECMP will discuss in next version.
Optional TLV: There are three optional TLV are defined/reused in this draft.
BIER Encapsulation Sub TLV
BIER Encapsulation Sub-TLV defined in [I-D.chen-pce-pcep-extension-pce-controller-bier] are used to associate BIER Encapsulation information, so we Reuse BIER Encapsulation Sub-TLV to carry the BIER-TE Encapsulation informations.
Address TLVs
When the adjacency type is 0b000:Forward Connected, the BFR address information (BFR out-interface and nexthop informations) should be carried in the CCI Object.
Address TLVs described in [RFC9050] are used to associate the next-hop information, so we Reuse ADDRESS TLV to carry the BFR out-interface and nexthop informations.
ROUTE-DISTINGUISHER TLV
When the adjacency type is 0b001: Forward Routed, a VRF and the next-hop informations should be carried in the CCI Object, so we reuse the ROUTE-DISTINGUISHER TLV defined in [RFC9168] and Address TLVs defined in [RFC9050] to carry the next hop is associated with a specific VPN identified by the RD.
When the adjacency type is 0b010: Local Decap, only a VRF should be carried in the CCI Object. Reuse the ROUTE-DISTINGUISHER TLV which is defined in [RFC9168] carries an RD value, used to identify a VRF.
FEC Object
BIER-TE information is always associated with adjacency, so we reuse FEC Object 1'IPv4 Node ID' and FEC Object-Type 2 'IPv6 Node ID' defined in [RFC8664] to clearly identify the adjacency for which a SI: BitPosition is being allocated.
Acknowledgements
We would like to thank Dhruv Dhody for their useful comments and suggestions.
IANA Considerations
TBD.
Security Considerations
The PCECC extension are based on the existing PCEP messages and thus the security considerations described in
The PCECC extension are based on the existing PCEP messages and thus the security considerations described in [RFC5440] ,[RFC8231] ,[RFC8281], and [RFC9050] apply to this draft.
Normative References
[RFC8283]
[RFC4655]
[RFC9050]
[RFC8279]
[RFC9262]
[RFC2119]
[RFC8174]
[RFC8231]
[RFC8408]
[I-D.ietf-pce-state-sync]
[RFC8232]
[RFC8401]
[RFC8296]
[I-D.chen-pce-pcep-extension-pce-controller-bier]
[RFC9168]
[RFC8664]
[RFC5440]
[RFC8281]