-
Notifications
You must be signed in to change notification settings - Fork 1
/
draft-barth-pce-segment-routing-policy-cp-00.txt
616 lines (402 loc) · 23.8 KB
/
draft-barth-pce-segment-routing-policy-cp-00.txt
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
PCE Working Group C. Barth
Internet-Draft Juniper Networks, Inc.
Intended status: Standards Track M. Koldychev
Expires: December 20, 2018 Cisco Systems, Inc.
D. Dhody
Huawei Technology
S. Sivabalan
Cisco Systems, Inc.
June 18, 2018
PCEP extension to support Segment Routing Policy Candidate Paths
draft-barth-pce-segment-routing-policy-cp-00
Abstract
This document introduces a mechanism to specify an SR policy, as a
collection of SR candidate paths. An SR policy is identified by
<headend, color, destination end-point> tuple. An SR policy can be
associated with one or more candidate paths where each candidate path
is represented in PCEP by an LSP. This document proposes extension
to PCEP to support association among candidate paths of a given SR
policy. The mechanism proposed in this document is applicable to
both MPLS and IPv6 data plane.
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 20, 2018.
Barth, et al. Expires December 20, 2018 [Page 1]
Internet-Draft SR Policy June 2018
Copyright Notice
Copyright (c) 2018 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 Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Instantiation of SR policy candidate paths . . . . . . . 4
3.2. Color based path computation . . . . . . . . . . . . . . 4
3.3. Avoid computing lower preference candidate paths . . . . 5
3.4. Minimal signaling overhead . . . . . . . . . . . . . . . 5
4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. SR Candidate Path Association Group . . . . . . . . . . . . . 6
5.1. SR Candidate Path Association Group Information TLV . . . 7
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.1. PCC Initiated SR Policy with single candidate-path . . . 8
6.2. PCC Initiated SR Policy with multiple candidate-paths . . 8
6.3. PCE Initiated SR Policy with single candidate-path . . . 9
6.4. PCE Initiated SR Policy with multiple candidate-paths . . 9
7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 10
8. Normative References . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
Path Computation Element (PCE) Communication Protocol (PCEP)
[RFC5440] describes the Path Computation Element communication
Protocol (PCEP) which enables the communication between a Path
Computation Client (PCC) and a Path Control Element (PCE), or between
two PCEs based on the PCE architecture [RFC4655].
PCEP Extensions for Stateful PCE Model [RFC8231] describes a set of
extensions to PCEP to enable active control of Multiprotocol Label
Switching Traffic Engineering (MPLS-TE) and Generalized MPLS (GMPLS)
tunnels. [RFC8281] describes the setup and teardown of PCE-initiated
Barth, et al. Expires December 20, 2018 [Page 2]
Internet-Draft SR Policy June 2018
LSPs under the active stateful PCE model, without the need for local
configuration on the PCC, thus allowing for a dynamic network.
PCEP Extensions for Segment Routing [I-D.ietf-pce-segment-routing]
specifies extensions to the Path Computation Element Protocol (PCEP)
that allow a stateful PCE to compute and initiate Traffic Engineering
(TE) paths, as well as a PCC to request a path subject to certain
constraint(s) and optimization criteria in SR networks.
PCEP Extensions for Establishing Relationships Between Sets of LSPs
[I-D.ietf-pce-association-group] introduces a generic mechanism to
create a grouping of LSPs which can then be used to define
associations between a set of LSPs and a set of attributes (such as
configuration parameters or behaviors) and is equally applicable to
stateful PCE (active and passive modes) and stateless PCE.
Segment Routing Policy for Traffic Engineering [I-D.ietf-spring-
segment-routing-policy] details the concepts of SR Policy and
approaches to steering traffic into an SR Policy.
An SR policy can be associated with one or more candidate paths where
one or more such paths can be computed via PCE. This document
specifies PCEP extensions to specify a candidate path of an SR
policy. Each candidate path being represented by a PCEP LSP. By
associating multiple candidate paths together, a PCE becomes aware of
the hierarchical structure of an SR policy. Thus the PCE can take
computation and control decisions about the candidate paths, with the
additional knowledge that these candidate paths belong to the same SR
policy. This is accomplished via the use of the existing PCEP
Association object, by defining a new association type specifically
for associating SR candidate paths into a single SR policy.
2. Terminology
The following terminologies are used in this document:
Destination Endpoint: The destination IPv4 or IPv6 endpoint address
of the SR policy in question, as described in [I-D.ietf-spring-
segment-routing-policy].
Association parameters: As described in [I-D.ietf-pce-association-
group], the combination of the mandatory fields Association type,
Association ID and Association Source in the ASSOCIATION object
uniquely identify the association group. If the optional TLVs -
Global Association Source or Extended Association ID are included,
then they MUST be included in combination with mandatory fields to
uniquely identifying the association group.
Barth, et al. Expires December 20, 2018 [Page 3]
Internet-Draft SR Policy June 2018
Association information: As described in [I-D.ietf-pce-association-
group], the ASSOCIATION object MAY include other optional TLVs
based on the association types, that provides 'information'
related to the association type.
PCC: Path Computation Client. Any client application requesting a
path computation to be performed by a Path Computation Element.
PCE: Path Computation Element. An entity (component, application,
or network node) that is capable of computing a network path or
route based on a network graph and applying computational
constraints.
PCEP: Path Computation Element Protocol.
3. Motivation
The new Association Type (SR policy candidate path) and the new TLVs
of the ASSOCIATION object, defined in this document, allow PCEP peers
to exchange additional parameters of SR policy, defined in [I-D.ietf-
spring-segment-routing-policy]. These additional parameters include
the color, endpoint, and preference. More parameters may be added in
the future.
The motivation for signaling these parameters is summarized in the
following subsections.
3.1. Instantiation of SR policy candidate paths
A PCE may want to instantiate one or more candidate paths on the PCC,
as specified in [RFC8281]. In this scenario, the PCE needs to signal
to a PCC <headend, color, destination end-point, preference> tuple
using which the PCC can instantiate a candidate path for the SR
policy identified. Current PCEP standards (as of the time of this
writing) do not provide a way to signal color and preference.
Although destination end-point can be signaled via the PCEP END-
POINTS object, this object may not be suitable because the
destination end-point to which the path is computed is not required
to be the same IPv4/IPv6 address as the actual endpoint of the SR
policy. Thus, a separate way to specify SR policy's destination end-
point is provided in this draft.
3.2. Color based path computation
A PCE can make use of the color of the SR policy, when computing the
path. For example, the PCE can map a certain set of colors to a
specific set of constraints or optimization objectives based on its
local path computation policy.
Barth, et al. Expires December 20, 2018 [Page 4]
Internet-Draft SR Policy June 2018
3.3. Avoid computing lower preference candidate paths
When a PCE knows that a given set of LSPs all belong to the same SR
policy, then path computation can be done on only the highest
preference candidate-path(s). Path computation for lower preference
paths is not necessary if one or two higher preference paths are
already computed. Since computing their paths will not affect
traffic steering, it may be postponed until the higher preference
paths become invalid, thus saving a lot of computation resources on
the PCE.
A PCE MAY take candidate path preference into consideration in path
computation subject to its local path computation policy. For
example, it MAY choose to compute path with higher preference first
before considering path with lower order preference in the context of
a given SR policy. It is also possible for the PCE to compute only
the path with the highest preference for a given SR policy.
3.4. Minimal signaling overhead
When an SR policy contains multiple candidate paths computed by PCE,
such candidate paths can be created, updated and deleted
independently of each other. This is achieved by making each
candidate path correspond to a unique LSP. For example, if an SR
policy has 4 candidate paths, then if the PCE wants to update one of
those candidate paths, only one set of PCUpd and PCRpt messages needs
to be exchanged.
4. Overview
As per [I-D.ietf-pce-association-group], LSPs are placed into an
association group. In our case, each LSP corresponds to a candidate
path of an SR policy, and the association group corresponds to the SR
policy itself.
A new Association Type is defined in this document, based on the
generic ASSOCIATION object. Association type = TBD1 ("SR Candidate
Path Association Type") for SR Candidate Path Association Group
(SRCPAG).
The SRCPAG Association is only meant to be used for SR LSPs and with
PCEP peers which advertise SR capability.
An Association object of SRCPAG group contains the following
information:
o Color of SR policy, represented by a 32-bit unsigned integer.
Barth, et al. Expires December 20, 2018 [Page 5]
Internet-Draft SR Policy June 2018
o Destination end-point of SR policy, represented by IPv4 or IPv6
address.
o Preference of SR policy, represented by an unsigned integer.
The values of Color, Destination Endpoint and Preference are encoded
as a TLV in the SRCPAG ASSOCIATION object. This TLV is part of
Association Information.
The Association Parameters (see Section 2) are derived from the Color
and Destination End-point. The mapping from Color and Destination
End-point to Association Parameters is left up to the implementation.
An implementation MAY choose Association Parameters in such a way
that every possible Color and Destination End-point maps to a unique
value of Association Parameters, thus requiring the use of Extended
Association ID TLV. Alternatively, an implementation MAY implement a
lookup table to generate Association Parameters incrementally as new
Color and Destination End-point values are created, thus not
requiring the use of Extended Association ID TLV.
As per the processing rules specified in section 5.4 of [I-D.ietf-
pce-association-group], if a PCEP speaker does not support the SRCPAG
association type, it MUST return a PCErr message with Error-Type 26
(Early allocation by IANA) "Association Error" and Error-Value 1
"Association-type is not supported". Please note that the
corresponding PCEP session is not reset.
5. SR Candidate Path Association Group
Two object types for IPv4 and IPv6 are defined. The ASSOCIATION
object includes "Association type" indicating the type of the
association group. This document adds a new Association type.
Association type = TBD1 ("SR Candidate Path Association Type") for SR
Candidate Path Association Group (SRCPAG).
The operator configured Association Range SHOULD NOT be set for this
association type and MUST be ignored.
SRCPAG may carry additional TLVs to communicate Association
Information. This document specifies a new such TLV called "SRCPAG-
INFO-TLV" which is used to carry Color, Destination End-point and
Preference.
A given LSP MUST belong to at most one SRCPAG, since a candidate path
cannot belong to multiple SR policies. If a PCEP speaker receives a
PCEP message with more than one SRCPAG for an LSP, then the PCEP
speaker MUST send a PCErr message with Error-Type 26 "Association
Barth, et al. Expires December 20, 2018 [Page 6]
Internet-Draft SR Policy June 2018
Error" and Error-Value TBD "Multiple SRCPAG for one LSP". If the
message is a PCRpt message, then the PCEP speaker MUST close the PCEP
connection. Closing the PCEP connection is necessary because
ignoring PCRpt messages may lead to inconsistent LSP DB state between
the two PCEP peers.
5.1. SR Candidate Path Association Group Information TLV
The SRCPAG-INFO-TLV is a mandatory TLV for the SRCPAG Association.
Only one SRCPAG-INFO-TLV can be carried and only the first occurrence
is processed and any others MUST be ignored. SRCPAG-INFO-TLV is part
of the Association Information (see Section 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Color |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination End-point |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Preference ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: The SRCPAG-INFO-TLV format
Type: TBD2.
Length: variable, depending on length of Destination End-point (IPv4
or IPv6) and the length of the Preference.
Color: any unsigned 32-bit number.
Destination End-point: can be either IPv4 or IPv6, depending on
whether the policy endpoint IPv4 or IPv6. This value may be
different from the one contained in the existing END-POINTS object,
or in the LSP IDENTIFIERS TLV of the LSP object. Destination
Endpoint is meant to strictly correspond to the endpoint of the SR
policy, as it is defined in [I-D.ietf-spring-segment-routing-policy].
Preference: value of the candidate path preference.
Barth, et al. Expires December 20, 2018 [Page 7]
Internet-Draft SR Policy June 2018
6. Examples
6.1. PCC Initiated SR Policy with single candidate-path
PCReq and PCRep messages are exchanged in the following sequence:
1. PCC sends PCReq message to the PCE, encoding the SRCPAG
ASSOCIATION object and TLVs in the PCReq message.
2. PCE returns the path in PCRep message, and echoes back the SRCPAG
object that was used in the computation.
PCRpt and PCUpd messages are exchanged in the following sequenece:
1. PCC sends PCRpt message to the PCE, including the LSP object and
the SRCPAG ASSOCIATION object.
2. PCE computes path, possibly making use of the Color, Endpoint and
Preference that were extracted from the SRCPAG ASSOCIATION
object.
3. PCE updates the SR policy candidate path's ERO using PCUpd
message.
6.2. PCC Initiated SR Policy with multiple candidate-paths
PCReq and PCRep messages are exchanged using the sequence specified
in section 6.1 with individual query for each candidate-path.
PCRpt and PCUpd messages are exchanged in the following sequence:
1. Step 1: For each candidate path of the SR policy, the PCC
generates a different PLSP-ID and symbolic-name and sends
multiple PCRpt messages (or one message with multiple LSP
objects) to the PCE. Each LSP object is followed by SRCPAG
ASSOCIATION object with identical Color and Endpoint values.
2. Step 2: PCE takes into account that all the LSPs belong to the
same SR policy. PCE prioritizes computation for the highest
preference LSP and sends PCUpd message(s) back to the PCC.
3. Step 3: If a new candidate path is added on the PCC by the
operator, then a new PLSP-ID and symbolic name is generated for
that candidate path and a new PCRpt is sent to the PCE.
4. Step 4: If an existing candidate path is removed from the PCC by
the operator, then that PLSP-ID is deleted from the PCE by
sending PCRpt with the R-flag set.
Barth, et al. Expires December 20, 2018 [Page 8]
Internet-Draft SR Policy June 2018
6.3. PCE Initiated SR Policy with single candidate-path
A candidate-path is created using the following steps:
1. PCE sends PCInit message, as usual containing the SRCPAG
Association object. PCE needs to generate a symbolic-name for
this LSP that will not clash with other symbolic names on the
same PCC.
2. PCC uses the color, destination endpoint and preference from the
SRCPAG object to create a new candidate path. If no SR policy
exists to hold the candidate path, then a new SR policy is
created to hold the new candidate-path. The Originator of the
candidate path is set to be the address of the PCE that is
sending the PCInit message.
3. PCC allocates a locally unique PLSP-ID for the newly created
candidate path. This PLSP-ID is sent to the PCE in the PCRpt
message.
A candidate-path is deleted using the following steps:
1. PCE sends PCInit message, setting the R-flag in the LSP object.
2. PCC uses the PLSP-ID from the LSP object to find the candidate
path and delete it. If this is the last candidate path under the
SR policy, then the containing SR policy is deleted as well.
6.4. PCE Initiated SR Policy with multiple candidate-paths
A candidate-path is created using the following steps:
1. PCE sends a separate PCInit message for every candidate path that
it wants to create, or it sends multiple LSP objects within a
single PCInit message. Each candidate-path must get a unique
symbolic-name generated on the PCE. SRCPAG object is sent for
every LSP in the PCInit message.
2. PCC creates multiple candidate paths under the same SR policy,
identified by Color and Endpoint. PCC generates a unique PLSP-ID
for every candidate path.
3. PCC allocates a locally unique PLSP-ID for each newly created
candidate path. This PLSP-ID is sent to the PCE in the PCRpt
message.
A candidate path is deleted using the following steps:
Barth, et al. Expires December 20, 2018 [Page 9]
Internet-Draft SR Policy June 2018
1. PCE sends PCInit message, setting the R-flag in the LSP object.
2. PCC uses the PLSP-ID from the LSP object to find the candidate
path and delete it.
7. Acknowledgement
8. Normative References
[I-D.ietf-pce-pce-initiated-lsp]
Crabbe, E., Minei, I., Sivabalan, S., and R. Varga, "PCEP
Extensions for PCE-initiated LSP Setup in a Stateful PCE
Model", draft-ietf-pce-pce-initiated-lsp-11 (work in
progress), October 2017.
[I-D.ietf-pce-segment-routing]
Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "PCEP Extensions for Segment Routing",
draft-ietf-pce-segment-routing-11 (work in progress),
November 2017.
[I-D.ietf-pce-stateful-pce]
Crabbe, E., Minei, I., Medved, J., and R. Varga, "PCEP
Extensions for Stateful PCE", draft-ietf-pce-stateful-
pce-21 (work in progress), June 2017.
[I-D.ietf-spring-segment-routing]
Filsfils, C., Previdi, S., Ginsberg, L., Decraene, B.,
Litkowski, S., and R. Shakir, "Segment Routing
Architecture", draft-ietf-spring-segment-routing-15 (work
in progress), January 2018.
[I-D.sivabalan-pce-binding-label-sid]
Sivabalan, S., Tantsura, J., Filsfils, C., Previdi, S.,
Hardwick, J., and D. Dhody, "Carrying Binding Label/
Segment-ID in PCE-based Networks.", draft-sivabalan-pce-
binding-label-sid-04 (work in progress), March 2018.
[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>.
Authors' Addresses
Barth, et al. Expires December 20, 2018 [Page 10]
Internet-Draft SR Policy June 2018
Colby Barth
Juniper Networks, Inc.
Email: cbarth@juniper.net
Mike Koldychev
Cisco Systems, Inc.
2000 Innovation Drive
Kanata, Ontario K2K 3E8
Canada
Email: mkoldych@cisco.com
Dhruv Dhody
Huawei Technology
Email: dhruv.dhody@huawei.com
Siva Sivabalan
Cisco Systems, Inc.
2000 Innovation Drive
Kanata, Ontario K2K 3E8
Canada
Email: msiva@cisco.com
Barth, et al. Expires December 20, 2018 [Page 11]