1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
|
Internet Engineering Task Force (IETF) 李呈 (C. Li), Ed.
Request for Comments: 9603 华为技术有限公司 (Huawei Technologies)
Category: Standards Track P. Kaladharan
ISSN: 2070-1721 RtBrick Inc
S. Sivabalan
M. Koldychev
Ciena Corporation
Y. Zhu
China Telecom
July 2024
Path Computation Element Communication Protocol (PCEP) Extensions for
IPv6 Segment Routing
Abstract
Segment Routing (SR) can be used to steer packets through a network
using the IPv6 or MPLS data plane, employing the source routing
paradigm.
An SR Path can be derived from a variety of mechanisms, including an
IGP Shortest Path Tree (SPT), explicit configuration, or a Path
Computation Element (PCE).
Since SR can be applied to both MPLS and IPv6 data planes, a PCE
should be able to compute an SR Path for both MPLS and IPv6 data
planes. The Path Computation Element Communication Protocol (PCEP)
extension and mechanisms to support SR-MPLS have been defined. This
document outlines the necessary extensions to support SR for the IPv6
data plane within PCEP.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
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/rfc9603.
Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Revised BSD License text as described in Section 4.e of the
Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents
1. Introduction
1.1. Requirements Language
2. Terminology
3. Overview of PCEP Operation in SRv6 Networks
3.1. Operation Overview
3.2. SRv6-Specific PCEP Message Extensions
4. Object Formats
4.1. The OPEN Object
4.1.1. The SRv6 PCE Capability sub-TLV
4.2. The RP/SRP Object
4.3. ERO
4.3.1. SRv6-ERO Subobject
4.3.1.1. SID Structure
4.3.1.2. Order of the Optional Fields
4.4. RRO
4.4.1. SRv6-RRO Subobject
5. Procedures
5.1. Exchanging the SRv6 Capability
5.2. ERO Processing
5.2.1. SRv6 ERO Validation
5.2.2. Interpreting the SRv6-ERO
5.3. RRO Processing
6. Security Considerations
7. Manageability Considerations
7.1. Control of Function and Policy
7.2. Information and Data Models
7.3. Liveness Detection and Monitoring
7.4. Verify Correct Operations
7.5. Requirements on Other Protocols
7.6. Impact on Network Operations
8. IANA Considerations
8.1. PCEP ERO and RRO Subobjects
8.2. New SRv6-ERO NAI Type Registry
8.3. New SRv6-ERO Flag Registry
8.4. LSP-ERROR-CODE TLV
8.5. PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators
8.6. SRv6 PCE Capability Flags
8.7. New Path Setup Type
8.8. ERROR Objects
9. References
9.1. Normative References
9.2. Informative References
Acknowledgements
Contributors
Authors' Addresses
1. Introduction
As defined in [RFC8402], Segment Routing (SR) architecture allows the
source node to steer a packet through a path indicated by an ordered
list of instructions, called "segments". A segment can represent any
instruction, topological or service based, and it can have a semantic
local to an SR node or global within an SR domain.
[RFC5440] describes Path Computation Element Communication Protocol
(PCEP) for communication between a Path Computation Client (PCC) and
a PCE or between a pair of PCEs. A PCE or a PCC operating as a PCE
(in a hierarchical PCE environment) computes paths for MPLS Traffic
Engineering Label Switched Paths (MPLS-TE LSPs) based on various
constraints and optimization criteria.
[RFC8231] specifies extensions to PCEP that allow a stateful PCE to
compute and recommend network paths in compliance with [RFC4657] and
defines objects and TLVs for MPLS-TE LSPs. Stateful PCEP extensions
provide synchronization of LSP state between a PCC and a PCE or
between a pair of PCEs, delegation of LSP control, reporting of LSP
state from a PCC to a PCE, and controlling the setup and path routing
of an LSP from a PCE to a PCC. Stateful PCEP extensions are intended
for an operational model in which LSPs are configured on the PCC, and
control over them is delegated to the PCE.
A mechanism to dynamically initiate LSPs on a PCC based on the
requests from a stateful PCE or a controller using stateful PCE is
specified in [RFC8281]. As per [RFC8664], it is possible to use a
stateful PCE for computing one or more SR-TE paths taking into
account various constraints and objective functions. Once a path is
computed, the stateful PCE can initiate an SR-TE path on a PCC using
PCEP extensions specified in [RFC8281] and the SR-specific PCEP
extensions specified in [RFC8664].
[RFC8664] specifies PCEP extensions for supporting an SR-TE LSP for
the MPLS data plane. This document extends [RFC8664] to support SR
for the IPv6 data plane. Additionally, using procedures described in
this document, a PCC can request an SRv6 path from either a stateful
or stateless PCE. This specification relies on the PATH-SETUP-TYPE
TLV and procedures specified in [RFC8408].
This specification provides a mechanism for a network controller
(acting as a PCE) to instantiate candidate paths for an SR Policy
onto a head-end node (acting as a PCC) using PCEP. For more
information on the SR Policy architecture, see [RFC9256], which
applies to both SR-MPLS and SRv6.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. Terminology
This document uses the following terms defined in [RFC5440]: PCC,
PCE, PCEP, PCEP Peer.
This document uses the following terms defined in [RFC8051]: Stateful
PCE, Delegation.
Further, the following terms are used in the document:
MSD: Maximum SID Depth
PST: Path Setup Type
SR: Segment Routing
SID: Segment Identifier
SRv6: Segment Routing over IPv6 data plane
SRH: IPv6 Segment Routing Header [RFC8754]
SRv6 path: IPv6 Segment List (A list of IPv6 SIDs representing a
path in IPv6 SR domain in the context of this document.)
Further, note that the term "LSP" used in the PCEP specifications
would be equivalent to an SRv6 path (represented as a list of SRv6
segments) in the context of supporting SRv6 in PCEP.
3. Overview of PCEP Operation in SRv6 Networks
Basic operations for PCEP speakers are built on [RFC8664].
In PCEP messages, route information is carried in the Explicit Route
Object (ERO), which consists of a sequence of subobjects. [RFC8664]
defined a new ERO subobject denoted by "SR-ERO subobject" that is
capable of carrying a SID as well as the identity of the node/
adjacency represented by the SID for SR-MPLS. SR-capable PCEP
speakers can generate and/or process such an ERO subobject. An ERO
containing SR-ERO subobjects can be included in the PCEP Path
Computation Reply (PCRep) message defined in [RFC5440], the PCEP LSP
Initiate Request message (PCInitiate) defined in [RFC8281], as well
as in the PCEP LSP Update Request (PCUpd) and PCEP LSP State Report
(PCRpt) messages defined in [RFC8231]. [RFC8664] also defines a new
Reported Route Object (RRO), called "SR-RRO", to represent the SID
list that was applied by the PCC, which is the actual path taken by
the LSP in SR-MPLS network.
The SRv6 paths computed by a PCE can be represented as an ordered
list of SRv6 segments. This document defines new subobjects
"SRv6-ERO" and "SRv6-RRO" in the ERO and the RRO, respectively, to
carry the SRv6 SID. SRv6-capable PCEP speakers MUST be able to
generate and/or process these subobjects.
When a PCEP session between a PCC and a PCE is established, both PCEP
speakers exchange their capabilities to indicate their ability to
support SRv6-specific functionality as described in Section 4.1.1.
In summary, this document defines:
* a new PCEP capability for SRv6,
* a new subobject SRv6-ERO in ERO,
* a new subobject SRv6-RRO in RRO, and
* a new Path Setup type (PST) [RFC8408], carried in the PATH-SETUP-
TYPE and PATH-SETUP-TYPE-CAPABILITY TLVs.
3.1. Operation Overview
In SR networks, an SR source node [RFC8754] steers a packet into an
SR Policy resulting in a segment list.
When SR leverages the IPv6 data plane (i.e., SRv6), the PCEP
procedures and mechanisms are extended in this document.
This document describes the extension to support SRv6 in PCEP. A PCC
or PCE indicates its ability to support SRv6 during the PCEP session
initialization phase via a new SRv6-PCE-CAPABILITY sub-TLV (see
details in Section 4.1.1).
3.2. SRv6-Specific PCEP Message Extensions
As defined in [RFC5440], a PCEP message consists of a common header
followed by a variable-length body made up of mandatory and/or
optional objects. This document does not require any changes in the
format of PCReq and PCRep messages specified in [RFC5440], the
PCInitiate message specified in [RFC8281], or PCRpt and PCUpd
messages specified in [RFC8231]. However, PCEP messages pertaining
to SRv6 MUST include PATH-SETUP-TYPE TLV in the Request Parameters
(RP) or Stateful PCE Request Parameters (SRP) object to clearly
identify that SRv6 is intended.
4. Object Formats
4.1. The OPEN Object
4.1.1. The SRv6 PCE Capability sub-TLV
This document defines a new Path Setup Type (PST) [RFC8408] for SRv6,
as follows:
PST=3: Path is set up using SRv6.
A PCEP speaker indicates its support of the function described in
this document by sending a PATH-SETUP-TYPE-CAPABILITY TLV in the OPEN
object with this new PST (value 3) included in the PST list.
This document also defines the SRv6-PCE-CAPABILITY sub-TLV. PCEP
speakers use this sub-TLV to exchange information about their SRv6
capability. If a PCEP speaker includes PST=3 in the PST list of the
PATH-SETUP-TYPE-CAPABILITY TLV, then it MUST also include the SRv6-
PCE-CAPABILITY sub-TLV inside the PATH-SETUP-TYPE-CAPABILITY TLV.
For further error handling, please see Section 5.
The format of the SRv6-PCE-CAPABILITY sub-TLV is shown in Figure 1.
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=27 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Flags |N| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MSD-Type | MSD-Value | MSD-Type | MSD-Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// ... //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MSD-Type | MSD-Value | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: SRv6-PCE-CAPABILITY Sub-TLV Format
The code point for the TLV type is 27, and the format is compliant
with the PCEP TLV format defined in [RFC5440]. That is, the sub-TLV
is composed of 2 octets for the type, 2 octets specifying the length,
and a Value field. When set to 27, the Type field identifies the
SRv6-PCE-CAPABILITY sub-TLV, and the presence of the sub-TLV
indicates the support for the SRv6 paths in PCEP. The Length field
defines the length of the value portion in octets. The sub-TLV is
padded to 4-octet alignment, and padding is not included in the
Length field. The (MSD-Type,MSD-Value) pairs are OPTIONAL. The
number of (MSD-Type,MSD-Value) pairs can be determined by the Length
field of the TLV.
The value is comprised of:
* Reserved: 2 octets; this field MUST be set to 0 on transmission
and ignored on receipt.
* Flags: 2 octets; one bit is currently assigned in Section 8.6
- N bit (bit position 14): A PCC sets this flag bit to 1 to
indicate that it is capable of resolving a Node or Adjacency
Identifier (NAI) to an SRv6-SID.
- Unassigned bits MUST be set to 0 on transmission and ignored on
receipt
* A pair of (MSD-Type,MSD-Value): Where MSD-Type (1 octet) is as per
the IGP MSD Type registry created by [RFC8491] and populated with
SRv6 MSD types as per [RFC9352], and where MSD-Value (1 octet) is
as per [RFC8491].
The SRv6 MSD information advertised via SRv6-PCE-Capability sub-TLV
conveys the SRv6 capabilities of the PCEP speaker alone. However,
when it comes to the computation of an SR Policy for the SRv6 data
plane, the SRv6 MSD capabilities of the intermediate SRv6 Endpoint
node and the tail-end node also need to be considered to ensure those
midpoints are able to correctly process their segments and for the
tail-end to dispose of the SRv6 encapsulation. The SRv6 MSD
capabilities of other nodes might be learned as part of the topology
information via the Border Gateway Protocol - Link State (BGP-LS)
[RFC9514] or via PCEP if the PCE also happens to have PCEP sessions
with those nodes.
It is recommended that the SRv6 MSD information not be included in
the SRv6-PCE-Capability sub-TLV in deployments where the PCE is able
to obtain this via IGP/BGP-LS as part of the topology information.
4.2. The RP/SRP Object
This document defines a new Path Setup Type (PST=3) for SRv6. In
order to indicate that the path is for SRv6, any RP or SRP object
MUST include the PATH-SETUP-TYPE TLV as specified in [RFC8408], where
PST is set to 3.
4.3. ERO
In order to support SRv6, a new "SRv6-ERO" subobject is defined for
inclusion in the ERO.
4.3.1. SRv6-ERO Subobject
An SRv6-ERO subobject is formatted as shown in Figure 2.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|L| Type=40 | Length | NT | Flags |V|T|F|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Endpoint Behavior |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| SRv6 SID (conditional) |
| (128-bit) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// NAI (variable, conditional) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| SID Structure (conditional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: SRv6-ERO Subobject Format
The fields in the SRv6-ERO subobject are as follows:
* The "L" flag: Indicates whether the subobject represents a loose
hop (see [RFC3209]). If this flag is set to zero, a PCC MUST NOT
overwrite the SID value present in the SRv6-ERO subobject.
Otherwise, a PCC MAY expand or replace one or more SID values in
the received SRv6-ERO based on its local policy.
* Type: Indicates the content of the subobject, i.e., when the field
is set to 40, the subobject is an SRv6-ERO subobject representing
an SRv6 SID.
* Length: Contains the total length of the subobject in octets. The
Length MUST be at least 24 and MUST be a multiple of 4. An
SRv6-ERO subobject MUST contain at least one of an SRv6-SID or an
NAI. The S and F bits in the Flags field indicates whether the
SRv6-SID or NAI fields are absent.
* NAI Type (NT): Indicates the type and format of the NAI contained
in the object body, if any are present. If the F bit is set to
one (see below), then the NT field has no meaning and MUST be
ignored by the receiver. This document creates a new PCEP
SRv6-ERO NAI Types registry in Section 8.2 and allocates the
following values:
- If NT value is 0, the NAI MUST NOT be included.
- When NT value is 2, the NAI is as per the "IPv6 node ID" format
defined in [RFC8664], which specifies an IPv6 address. This is
used to identify the owner of the SRv6 Identifier. This is
optional, as the LOC (the locator portion) of the SRv6 SID
serves a similar purpose (when present).
- When NT value is 4, the NAI is as per the "IPv6 adjacency"
format defined in [RFC8664], which specify a pair of IPv6
addresses. This is used to identify the IPv6 adjacency and
used with the SRv6 Adj-SID.
- When NT value is 6, the NAI is as per the "link-local IPv6
addresses" format defined in [RFC8664], which specify a pair of
(global IPv6 address, interface ID) tuples. It is used to
identify the IPv6 adjacency and used with the SRv6 Adj-SID.
* Flags: Used to carry additional information pertaining to the
SRv6-SID. This document defines the following flag bits. The
other bits MUST be set to zero by the sender and MUST be ignored
by the receiver. This document creates a new registry SRv6-ERO
Flag Field registry in Section 8.3 and allocates the following
values.
- S: When this bit is set to 1, the SRv6-SID value in the
subobject body is absent. In this case, the PCC is responsible
for choosing the SRv6-SID value, e.g., by looking up in the SR-
DB using the NAI that, in this case, MUST be present in the
subobject. If the S bit is set to 1, then the F bit MUST be
set to zero.
- F: When this bit is set to 1, the NAI value in the subobject
body is absent. The F bit MUST be set to 1 if NT=0; otherwise,
it MUST be set to zero. The S and F bits MUST NOT both be set
to 1.
- T: When this bit is set to 1, the SID Structure value in the
subobject body is present. The T bit MUST be set to 0 when the
S bit is set to 1. If the T bit is set when the S bit is set,
the T bit MUST be ignored. Thus, the T bit indicates the
presence of an optional 8-byte SID Structure when SRv6 SID is
included. The SID Structure is defined in Section 4.3.1.1.
- V: The "SID verification" bit usage is as per Section 5.1 of
[RFC9256]. If a PCC "Verification fails" for a SID, it MUST
report this error by including the LSP-ERROR-CODE TLV with LSP
Error-value "SID Verification fails" in the LSP object in the
PCRpt message to the PCE.
* Reserved: MUST be set to zero while sending and ignored on
receipt.
* Endpoint Behavior: A 16-bit field representing the behavior
associated with the SRv6 SIDs. This information is optional, but
providing it is recommended whenever possible. It could be used
for maintainability and diagnostic purposes. If behavior is not
known, value "0xFFFF" as defined in the "SRv6 Endpoint Behaviors"
registry is used [RFC8986].
* SRv6 SID: SRv6 Identifier is a 128-bit value representing the SRv6
segment.
* NAI: The NAI associated with the SRv6-SID. The NAI's format
depends on the value in the NT field and is described in
[RFC8664].
At least one SRv6-SID or the NAI MUST be included in the SRv6-ERO
subobject, and both MAY be included.
4.3.1.1. SID Structure
The SID Structure is an optional part of the SR-ERO subobject, as
described in Section 4.3.1.
[RFC8986] defines an SRv6 SID as consisting of LOC:FUNCT:ARG, where a
locator (LOC) is encoded in the L most significant bits of the SID,
followed by F bits of function (FUNCT) and A bits of arguments (ARG).
A locator may be represented as B:N where B is the SRv6 SID locator
block (IPv6 prefix allocated for SRv6 SIDs by the operator) and N is
the identifier of the parent node instantiating the SID called
"locator node".
The SID Structure is formatted as shown in Figure 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LB Length | LN Length | Fun. Length | Arg. Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: SID Structure Format
Where:
* LB Length: 1 octet; SRv6 SID Locator Block length in bits
* LN Length: 1 octet; SRv6 SID Locator Node length in bits
* Fun. Length: 1 octet; SRv6 SID Function length in bits
* Arg. Length: 1 octet; SRv6 SID Arguments length in bits
The sum of all four sizes in the SID Structure must be less than or
equal to 128 bits. If the sum of all four sizes advertised in the
SID Structure is larger than 128 bits, the corresponding SRv6 SID
MUST be considered invalid and a PCErr message with Error-Type = 10
("Reception of an invalid object") and Error-value = 37 ("Invalid
SRv6 SID Structure") is returned.
* Reserved: MUST be set to zero while sending and ignored on
receipt.
* Flags: Currently no flags are defined.
* Unassigned bits must be set to zero while sending and ignored on
receipt.
The SRv6 SID Structure provides the detailed encoding information of
an SRv6 SID, which is helpful in the use cases that require the SRv6
SID structure to be known. When a PCEP speaker receives the SRv6 SID
and its structure information, the SRv6 SID can be parsed based on
the SRv6 SID Structure and/or possible local policies. The SRv6 SID
Structure could be used by the PCE for ease of operations and
monitoring. For example, this information could be used for
validation of SRv6 SIDs being instantiated in the network and checked
for conformance with the SRv6 SID allocation scheme chosen by the
operator as described in Section 3.2 of [RFC8986]. In the future,
PCE might also be utilized to verify and automate the security of the
SRv6 domain by provisioning filtering rules at the domain boundaries
as described in Section 5 of [RFC8754]. The details of these
potential applications are outside the scope of this document.
4.3.1.2. Order of the Optional Fields
The optional elements in the SRv6-ERO subobject, i.e., SRv6 SID, NAI,
and the SID Structure, MUST be encoded in the order as depicted in
Figure 2. The presence or absence of each of them is indicated by
the respective flags, i.e., S flag, F flag, and T flag.
In order to ensure future compatibility, any optional elements added
to the SRv6-ERO subobject in the future must specify their order and
request that the Internet Assigned Numbers Authority (IANA) allocate
a flag to indicate their presence from the subregistry created in
Section 8.3.
4.4. RRO
In order to support SRv6, a new "SRv6-RRO" subobject is defined for
inclusion in the RRO.
4.4.1. SRv6-RRO Subobject
A PCC reports an SRv6 path to a PCE by sending a PCRpt message, per
[RFC8231]. The RRO on this message represents the SID list that was
applied by the PCC, that is, the actual path taken. The procedures
of [RFC8664] with respect to the RRO apply equally to this
specification without change.
An RRO contains one or more subobjects called "SRv6-RRO subobjects",
whose format is shown in Figure 4.
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=40 | Length | NT | Flags |V|T|F|S|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Endpoint Behavior |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| SRv6 SID(optional) |
| (128-bit) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
// NAI (variable) //
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| SID Structure (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: SRv6-RRO Subobject Format
The format of the SRv6-RRO subobject is the same as that of the
SRv6-ERO subobject but without the L flag.
The V flag has no meaning in the SRv6-RRO and is ignored on receipt
at the PCE.
The ordering of SRv6-RRO subobjects by PCC in PCRpt message remains
as per [RFC8664].
The ordering of optional elements in the SRv6-RRO subobject is the
same as described in Section 4.3.1.2.
5. Procedures
5.1. Exchanging the SRv6 Capability
A PCC indicates that it is capable of supporting the head-end
functions for SRv6 by including the SRv6-PCE-CAPABILITY sub-TLV in
the Open message that it sends to a PCE. A PCE indicates that it is
capable of computing SRv6 paths by including the SRv6-PCE-CAPABILITY
sub-TLV in the Open message that it sends to a PCC.
If a PCEP speaker receives a PATH-SETUP-TYPE-CAPABILITY TLV with a
PST list containing PST=3, but the SRv6-PCE-CAPABILITY sub-TLV is
absent, then the PCEP speaker MUST send a PCErr message with Error-
Type = 10 ("Reception of an invalid object") and Error-Value = 34
("Missing PCE-SRv6-CAPABILITY sub-TLV") and MUST then close the PCEP
session. If a PCEP speaker receives a PATH-SETUP-TYPE-CAPABILITY TLV
with an SRv6-PCE-CAPABILITY sub-TLV, but the PST list does not
contain PST=3, then the PCEP speaker MUST ignore the SRv6-PCE-
CAPABILITY sub-TLV.
In case the MSD-Type in the SRv6-PCE-CAPABILITY sub-TLV received by
the PCE does not correspond to one of the SRv6 MSD types, the PCE
MUST respond with a PCErr message (Error-Type = 1 ("PCEP session
establishment failure") and Error-Value = 1 ("reception of an invalid
Open message or a non Open message.")).
Note that the (MSD-Type,MSD-Value) pair exchanged via the SRv6-PCE-
CAPABILITY sub-TLV indicates the SRv6 SID imposition limit for the
sender PCC node only. However, if a PCE learns these via alternate
mechanisms, e.g., routing protocols [RFC9352], then it ignores the
values in the SRv6-PCE-CAPABILITY sub-TLV. Furthermore, whenever a
PCE learns any other SRv6 MSD types that may be defined in the future
via alternate mechanisms, it MUST use those values regardless of the
values exchanged in the SRv6-PCE-CAPABILITY sub-TLV.
During path computation, a PCE must consider the MSD information of
all the nodes along the path instead of only the MSD information of
the ingress PCC since a packet may be dropped on any node in a
forwarding path because of the SID depth exceeding the MSD of the
node. The MSD capabilities of all SR nodes along the path can be
learned as part of the topology information via IGP/BGP-LS or via
PCEP if the PCE also happens to have PCEP sessions with those nodes.
A PCE MUST NOT send SRv6 paths that exceed the SRv6 MSD capabilities
of the PCC. If a PCC needs to modify the SRv6 MSD value signaled via
the Open message, it MUST close the PCEP session and re-establish it
with the new value. If the PCC receives an SRv6 path that exceeds
its SRv6 MSD capabilities, the PCC MUST send a PCErr message with
Error-Type = 10 ("Reception of an invalid object") and Error-value =
40 ("Unsupported number of SRv6-ERO subobjects").
The N flag and (MSD-Type,MSD-Value) pair inside the SRv6-PCE-
CAPABILITY sub-TLV are meaningful only in the Open message sent to a
PCE. As such, the flags MUST be set to zero and a (MSD-Type,MSD-
Value) pair MUST NOT be present in the SRv6-PCE-CAPABILITY sub-TLV in
an Open message sent to a PCC. Similarly, a PCC MUST ignore flags
and any (MSD-Type,MSD-Value) pair in a received Open message. If a
PCE receives multiple SRv6-PCE-CAPABILITY sub-TLVs in an Open
message, it processes only the first sub-TLV received.
5.2. ERO Processing
The processing of ERO remains unchanged in accordance with both
[RFC5440] and [RFC8664].
5.2.1. SRv6 ERO Validation
If a PCC does not support the SRv6 PCE Capability and thus cannot
recognize the SRv6-ERO or SRv6-RRO subobjects, it should respond
according to the rules for a malformed object as described in
[RFC5440].
On receiving an SRv6-ERO, a PCC MUST validate that the Length field,
the S bit, the F bit, the T bit, and the NT field are consistent, as
follows:
* If NT=0, the F bit MUST be 1, the S bit MUST be zero, and the
Length MUST be 24.
* If NT=2, the F bit MUST be zero. If the S bit is 1, the Length
MUST be 24; otherwise, the Length MUST be 40.
* If NT=4, the F bit MUST be zero. If the S bit is 1, the Length
MUST be 40; otherwise, the Length MUST be 56.
* If NT=6, the F bit MUST be zero. If the S bit is 1, the Length
MUST be 48; otherwise, the Length MUST be 64.
* If the T bit is 1, then the S bit MUST be zero.
If a PCC finds that the NT field, Length field, S bit, F bit, and T
bit are not consistent, it MUST consider the entire ERO invalid and
MUST send a PCErr message with Error-Type = 10 ("Reception of an
invalid object") and Error-value = 11 ("Malformed object").
If a PCC does not recognize or support the value in the NT field, it
MUST consider the entire ERO invalid and send a PCErr message with
Error-Type = 10 ("Reception of an invalid object") and Error-value =
41 ("Unsupported NAI Type in the SRv6-ERO/SRv6-RRO subobject").
If a PCC receives an SRv6-ERO subobject in which the S and F bits are
both set to 1 (that is, both the SID and NAI are absent), it MUST
consider the entire ERO invalid and send a PCErr message with Error-
Type = 10 ("Reception of an invalid object") and Error-value = 42
("Both SID and NAI are absent in the SRv6-ERO subobject").
If a PCC receives an SRv6-ERO subobject in which the S bit is set to
1 and the F bit is set to zero (that is, the SID is absent and the
NAI is present), but the PCC does not support NAI resolution, it MUST
consider the entire ERO invalid and send a PCErr message with Error-
Type = 4 ("Not supported object") and Error-value = 4 ("Unsupported
parameter").
If a PCC detects that the subobjects of an ERO are a mixture of
SRv6-ERO subobjects and subobjects of other types, then it MUST send
a PCErr message with Error-Type = 10 ("Reception of an invalid
object") and Error-value = 43 ("ERO mixes SRv6-ERO subobjects with
other subobject types").
In case a PCEP speaker receives an SRv6-ERO subobject, when the PST
is not set to 3 or SRv6-PCE-CAPABILITY sub-TLV was not exchanged, it
MUST send a PCErr message with Error-Type = 19 ("Invalid Operation")
and Error-value = 19 ("Attempted SRv6 when the capability was not
advertised").
If a PCC receives an SRv6 path that exceeds the SRv6 MSD
capabilities, it MUST send a PCErr message with Error-Type = 10
("Reception of an invalid object") and Error-value = 40 ("Unsupported
number of SRv6-ERO subobjects") as per [RFC8664].
5.2.2. Interpreting the SRv6-ERO
The SRv6-ERO contains a sequence of subobjects. According to
[RFC9256], each SRv6-ERO subobject in the sequence identifies a
segment that the traffic will be directed to, in the order given.
That is, the first subobject identifies the first segment the traffic
will be directed to, the second SRv6-ERO subobject represents the
second segment, and so on.
5.3. RRO Processing
The syntax-checking rules that apply to the SRv6-RRO subobject are
identical to those of the SRv6-ERO subobject, except as noted below.
If a PCEP speaker receives an SRv6-RRO subobject in which both SRv6
SID and NAI are absent, it MUST consider the entire RRO invalid and
send a PCErr message with Error-Type = 10 ("Reception of an invalid
object") and Error-value = 35 ("Both SID and NAI are absent in
SRv6-RRO subobject").
If a PCE detects that the subobjects of an RRO are a mixture of
SRv6-RRO subobjects and subobjects of other types, then it MUST send
a PCErr message with Error-Type = 10 ("Reception of an invalid
object") and Error-value = 36 ("RRO mixes SRv6-RRO subobjects with
other subobject types").
The mechanism by which the PCC learns the path is outside the scope
of this document.
6. Security Considerations
The Security Considerations described in [RFC5440], Section 2.5 of
[RFC6952], [RFC8231], [RFC8281], [RFC8253], and [RFC8664] are
applicable to this specification.
Note that this specification enables a network controller to
instantiate an SRv6 path in the network. This creates an additional
vulnerability if the security mechanisms of [RFC5440], [RFC8231], and
[RFC8281] are not used. If there is no integrity protection on the
session, then an attacker could create an SRv6 path that may not be
subjected to the further verification checks. Further, the MSD field
in the Open message could disclose node forwarding capabilities if
suitable security mechanisms are not in place. Hence, securing the
PCEP session using Transport Layer Security (TLS) [RFC8253] is
RECOMMENDED.
7. Manageability Considerations
All manageability requirements and considerations listed in
[RFC5440], [RFC8231], [RFC8281], and [RFC8664] apply to PCEP protocol
extensions defined in this document. In addition, requirements and
considerations listed in this section apply.
7.1. Control of Function and Policy
A PCEP implementation SHOULD allow the operator to configure the SRv6
capability. Further, a policy to accept NAI only for the SRv6 SHOULD
be allowed to be set.
7.2. Information and Data Models
The PCEP YANG module is out of the scope of this document; it is
defined in other documents, for example, [PCEP-YANG]. An augmented
YANG module for SRv6 is also specified in [PCEP-SRv6-YANG] that
allows for SRv6 capability and MSD configurations as well as to
monitor the SRv6 paths set in the network.
7.3. Liveness Detection and Monitoring
Mechanisms defined in this document do not imply any new liveness
detection and monitoring requirements in addition to those already
listed in [RFC5440].
7.4. Verify Correct Operations
Verification of the mechanisms defined in this document can be built
on those already listed in [RFC5440], [RFC8231], and [RFC8664].
7.5. Requirements on Other Protocols
Mechanisms defined in this document do not imply any new requirements
on other protocols.
7.6. Impact on Network Operations
Mechanisms defined in [RFC5440], [RFC8231], and [RFC8664] also apply
to PCEP extensions defined in this document.
8. IANA Considerations
8.1. PCEP ERO and RRO Subobjects
This document defines a new subobject type for the PCEP Explicit
Route Object (ERO) and a new subobject type for the PCEP Reported
Route Object (RRO). These have been registered in the "Resource
Reservation Protocol (RSVP) Parameters" registry group as shown
below.
IANA has allocated the following new subobject in the "Subobject type
- 20 EXPLICIT_ROUTE - Type 1 Explicit Route" registry:
+=======+==========================+
| Value | Description |
+=======+==========================+
| 40 | SRv6-ERO (PCEP-specific) |
+-------+--------------------------+
Table 1
IANA has allocated the following new subobject in the "Subobject type
- 21 ROUTE_RECORD - Type 1 Route Record" registry:
+=======+==========================+
| Value | Description |
+=======+==========================+
| 40 | SRv6-RRO (PCEP-specific) |
+-------+--------------------------+
Table 2
8.2. New SRv6-ERO NAI Type Registry
IANA has created the "PCEP SRv6-ERO NAI Types" registry within the
"Path Computation Element Protocol (PCEP) Numbers" registry group to
manage the 4-bit NT field in the SRv6-ERO subobject. The
registration policy is IETF Review [RFC8126]. IANA has registered
the values in Table 3.
+=======+===============================+===========+
| Value | Description | Reference |
+=======+===============================+===========+
| 0 | NAI is absent. | RFC 9603 |
+-------+-------------------------------+-----------+
| 2 | NAI is an IPv6 node ID. | RFC 9603 |
+-------+-------------------------------+-----------+
| 4 | NAI is an IPv6 adjacency with | RFC 9603 |
| | global IPv6 addresses. | |
+-------+-------------------------------+-----------+
| 6 | NAI is an IPv6 adjacency with | RFC 9603 |
| | link-local IPv6 addresses. | |
+-------+-------------------------------+-----------+
Table 3
8.3. New SRv6-ERO Flag Registry
IANA has created the "SRv6-ERO Flag Field" registry within the "Path
Computation Element Protocol (PCEP) Numbers" registry group to manage
the 12-bit Flag field of the SRv6-ERO subobject. New values are to
be assigned by Standards Action [RFC8126]. Each registration should
include the following information:
* Bit (counting from bit 0 as the most significant bit)
* Description
* Reference
The following values are defined in this document:
+=====+==============================+===========+
| Bit | Description | Reference |
+=====+==============================+===========+
| 8 | SID Verification (V) | RFC 9603 |
+-----+------------------------------+-----------+
| 9 | SID Structure is present (T) | RFC 9603 |
+-----+------------------------------+-----------+
| 10 | NAI is absent (F) | RFC 9603 |
+-----+------------------------------+-----------+
| 11 | SID is absent (S) | RFC 9603 |
+-----+------------------------------+-----------+
Table 4
8.4. LSP-ERROR-CODE TLV
This document defines a new value in "LSP-ERROR-CODE TLV Error Code
Field" registry within the "Path Computation Element Protocol (PCEP)
Numbers" registry group.
+=======+========================+===========+
| Value | Meaning | Reference |
+=======+========================+===========+
| 10 | SID Verification fails | RFC 9603 |
+-------+------------------------+-----------+
Table 5
8.5. PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type Indicators
IANA maintains the "PATH-SETUP-TYPE-CAPABILITY Sub-TLV Type
Indicators" registry within the "Path Computation Element Protocol
(PCEP) Numbers" registry group to manage the type indicator space for
sub-TLVs of the PATH-SETUP-TYPE-CAPABILITY TLV. IANA has registered
the following value:
+=======+=====================+===========+
| Value | Meaning | Reference |
+=======+=====================+===========+
| 27 | SRv6-PCE-CAPABILITY | RFC 9603 |
+-------+---------------------+-----------+
Table 6
8.6. SRv6 PCE Capability Flags
IANA has created the "SRv6 Capability Flag Field" registry within the
"Path Computation Element Protocol (PCEP) Numbers" registry group to
manage the 16-bit Flag field of the SRv6-PCE-CAPABILITY sub-TLV. New
values are to be assigned by Standards Action [RFC8126]. Each
registration should include the following information:
* Bit (counting from bit 0 as the most significant bit)
* Description
* Reference
The following value is defined in this document.
+=====+==============================+===========+
| Bit | Description | Reference |
+=====+==============================+===========+
| 14 | Node or Adjacency Identifier | RFC 9603 |
| | (NAI) is supported (N) | |
+-----+------------------------------+-----------+
Table 7
8.7. New Path Setup Type
[RFC8408] created the "PCEP Path Setup Types" registry within the
"Path Computation Element Protocol (PCEP) Numbers" registry group.
IANA has allocated the following value:
+=======+==========================+===========+
| Value | Description | Reference |
+=======+==========================+===========+
| 3 | Traffic engineering path | RFC 9603 |
| | is set up using SRv6. | |
+-------+--------------------------+-----------+
Table 8
8.8. ERROR Objects
IANA has allocated the following Error-values in the "PCEP-ERROR
Object Error Types and Values" registry within the "Path Computation
Element Protocol (PCEP) Numbers" registry group:
+============+=================+===================================+
| Error-Type | Meaning | Error-value |
+============+=================+===================================+
| 10 | Reception of an | 34: Missing PCE-SRv6-CAPABILITY |
| | invalid object | sub-TLV |
| | +-----------------------------------+
| | | 35: Both SID and NAI are absent |
| | | in SRv6-RRO subobject |
| | +-----------------------------------+
| | | 36: RRO mixes SRv6-RRO subobjects |
| | | with other subobject types |
| | +-----------------------------------+
| | | 37: Invalid SRv6 SID Structure |
| | +-----------------------------------+
| | | 40: Unsupported number of |
| | | SRv6-ERO subobjects |
| | +-----------------------------------+
| | | 41: Unsupported NAI Type in the |
| | | SRv6-ERO/SRv6-RRO subobject |
| | +-----------------------------------+
| | | 42: Both SID and NAI are absent |
| | | in the SRv6-ERO subobject |
| | +-----------------------------------+
| | | 43: ERO mixes SRv6-ERO subobjects |
| | | with other subobject types |
+------------+-----------------+-----------------------------------+
| 19 | Invalid | 19: Attempted SRv6 when the |
| | Operation | capability was not advertised |
+------------+-----------------+-----------------------------------+
Table 9
9. References
9.1. Normative References
[RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V.,
and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001,
<https://www.rfc-editor.org/info/rfc3209>.
[RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol (PCEP)", RFC 5440,
DOI 10.17487/RFC5440, March 2009,
<https://www.rfc-editor.org/info/rfc5440>.
[RFC8126] 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>.
[RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path
Computation Element Communication Protocol (PCEP)
Extensions for Stateful PCE", RFC 8231,
DOI 10.17487/RFC8231, September 2017,
<https://www.rfc-editor.org/info/rfc8231>.
[RFC8281] Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "Path
Computation Element Communication Protocol (PCEP)
Extensions for PCE-Initiated LSP Setup in a Stateful PCE
Model", RFC 8281, DOI 10.17487/RFC8281, December 2017,
<https://www.rfc-editor.org/info/rfc8281>.
[RFC8408] Sivabalan, S., Tantsura, J., Minei, I., Varga, R., and J.
Hardwick, "Conveying Path Setup Type in PCE Communication
Protocol (PCEP) Messages", RFC 8408, DOI 10.17487/RFC8408,
July 2018, <https://www.rfc-editor.org/info/rfc8408>.
[RFC8491] Tantsura, J., Chunduri, U., Aldrin, S., and L. Ginsberg,
"Signaling Maximum SID Depth (MSD) Using IS-IS", RFC 8491,
DOI 10.17487/RFC8491, November 2018,
<https://www.rfc-editor.org/info/rfc8491>.
[RFC8253] Lopez, D., Gonzalez de Dios, O., Wu, Q., and D. Dhody,
"PCEPS: Usage of TLS to Provide a Secure Transport for the
Path Computation Element Communication Protocol (PCEP)",
RFC 8253, DOI 10.17487/RFC8253, October 2017,
<https://www.rfc-editor.org/info/rfc8253>.
[RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "Path Computation Element Communication
Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
DOI 10.17487/RFC8664, December 2019,
<https://www.rfc-editor.org/info/rfc8664>.
[RFC8986] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
(SRv6) Network Programming", RFC 8986,
DOI 10.17487/RFC8986, February 2021,
<https://www.rfc-editor.org/info/rfc8986>.
[RFC9514] Dawra, G., Filsfils, C., Talaulikar, K., Ed., Chen, M.,
Bernier, D., and B. Decraene, "Border Gateway Protocol -
Link State (BGP-LS) Extensions for Segment Routing over
IPv6 (SRv6)", RFC 9514, DOI 10.17487/RFC9514, December
2023, <https://www.rfc-editor.org/info/rfc9514>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
9.2. Informative References
[RFC4657] Ash, J., Ed. and J.L. Le Roux, Ed., "Path Computation
Element (PCE) Communication Protocol Generic
Requirements", RFC 4657, DOI 10.17487/RFC4657, September
2006, <https://www.rfc-editor.org/info/rfc4657>.
[RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
BGP, LDP, PCEP, and MSDP Issues According to the Keying
and Authentication for Routing Protocols (KARP) Design
Guide", RFC 6952, DOI 10.17487/RFC6952, May 2013,
<https://www.rfc-editor.org/info/rfc6952>.
[RFC8051] Zhang, X., Ed. and I. Minei, Ed., "Applicability of a
Stateful Path Computation Element (PCE)", RFC 8051,
DOI 10.17487/RFC8051, January 2017,
<https://www.rfc-editor.org/info/rfc8051>.
[RFC8402] Filsfils, C., Ed., Previdi, S., Ed., Ginsberg, L.,
Decraene, B., Litkowski, S., and R. Shakir, "Segment
Routing Architecture", RFC 8402, DOI 10.17487/RFC8402,
July 2018, <https://www.rfc-editor.org/info/rfc8402>.
[RFC8754] Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
(SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
<https://www.rfc-editor.org/info/rfc8754>.
[RFC9256] Filsfils, C., Talaulikar, K., Ed., Voyer, D., Bogdanov,
A., and P. Mattes, "Segment Routing Policy Architecture",
RFC 9256, DOI 10.17487/RFC9256, July 2022,
<https://www.rfc-editor.org/info/rfc9256>.
[RFC9352] Psenak, P., Ed., Filsfils, C., Bashandy, A., Decraene, B.,
and Z. Hu, "IS-IS Extensions to Support Segment Routing
over the IPv6 Data Plane", RFC 9352, DOI 10.17487/RFC9352,
February 2023, <https://www.rfc-editor.org/info/rfc9352>.
[PCEP-YANG]
Dhody, D., Ed., Beeram, V., Hardwick, J., and J. Tantsura,
"A YANG Data Model for Path Computation Element
Communications Protocol (PCEP)", Work in Progress,
Internet-Draft, draft-ietf-pce-pcep-yang-25, 21 May 2024,
<https://datatracker.ietf.org/doc/html/draft-ietf-pce-
pcep-yang-25>.
[PCEP-SRv6-YANG]
Li, C., Sivabalan, S., Peng, S., Koldychev, M., and L.
Ndifor, "A YANG Data Model for Segment Routing (SR) Policy
and SR in IPv6 (SRv6) support in Path Computation Element
Communications Protocol (PCEP)", Work in Progress,
Internet-Draft, draft-ietf-pce-pcep-srv6-yang-05, 18 March
2024, <https://datatracker.ietf.org/doc/html/draft-ietf-
pce-pcep-srv6-yang-05>.
Acknowledgements
The authors would like to thank Jeff Tantsura, Adrian Farrel, Aijun
Wang, Khasanov Boris, Ketan Talaulikar, Martin Vigoureux, Hariharan
Ananthakrishnan, Xinyue Zhang, John Scudder, Julien Meuric, and
Robert Varga for valuable suggestions.
Thanks to Gunter Van de Velde, Éric Vyncke, Jim Guichard, and Mahesh
Jethanandani for their comments during the IESG review.
Contributors
Mahendra Singh Negi
RtBrick Inc
Bangalore
Karnataka
India
Email: mahend.ietf@gmail.com
Dhruv Dhody
Huawei
India
Email: dhruv.ietf@gmail.com
Huang Wumin
Huawei Technologies
Huawei Building, No. 156 Beiqing Rd.
Beijing
100095
China
Email: huangwumin@huawei.com
Shuping Peng
Huawei Technologies
Huawei Building, No. 156 Beiqing Rd.
Beijing
100095
China
Email: pengshuping@huawei.com
Ran Chen
ZTE Corporation
China
Email: chen.ran@zte.com.cn
Authors' Addresses
Cheng Li (editor)
Huawei Technologies
Huawei Campus, No. 156 Beiqing Rd.
Beijing
100095
China
Email: c.l@huawei.com
Additional contact information:
李呈 (editor)
中国
100095
北京
华为北研所
华为技术有限公司
Prejeeth Kaladharan
RtBrick Inc
Bangalore
Karnataka
India
Email: prejeeth@rtbrick.com
Siva Sivabalan
Ciena Corporation
Email: msiva282@gmail.com
Mike Koldychev
Ciena Corporation
Canada
Email: mkoldych@ciena.com
Yongqing Zhu
China Telecom
109 West Zhongshan Ave, Tianhe District
Bangalore
Guangzhou,
China
Email: zhuyq8@chinatelecom.cn
|