-
Notifications
You must be signed in to change notification settings - Fork 1
/
Diff_ Jon.html
446 lines (437 loc) · 89.2 KB
/
Diff_ Jon.html
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0030)https://tools.ietf.org/rfcdiff -->
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>Diff: draft-ietf-pce-stateful-sync-optimizations-09.txt - draft-ietf-pce-stateful-sync-optimizations-09.txt</title>
<style type="text/css">
body { margin: 0.4ex; margin-right: auto; }
tr { }
td { white-space: pre; font-family: monospace; vertical-align: top; font-size: 0.86em;}
th { font-size: 0.86em; }
.small { font-size: 0.6em; font-style: italic; font-family: Verdana, Helvetica, sans-serif; }
.left { background-color: #EEE; }
.right { background-color: #FFF; }
.diff { background-color: #CCF; }
.lblock { background-color: #BFB; }
.rblock { background-color: #FF8; }
.insert { background-color: #8FF; }
.delete { background-color: #ACF; }
.void { background-color: #FFB; }
.cont { background-color: #EEE; }
.linebr { background-color: #AAA; }
.lineno { color: red; background-color: #FFF; font-size: 0.7em; text-align: right; padding: 0 2px; }
.elipsis{ background-color: #AAA; }
.left .cont { background-color: #DDD; }
.right .cont { background-color: #EEE; }
.lblock .cont { background-color: #9D9; }
.rblock .cont { background-color: #DD6; }
.insert .cont { background-color: #0DD; }
.delete .cont { background-color: #8AD; }
.stats, .stats td, .stats th { background-color: #EEE; padding: 2px 0; }
span.hide { display: none; color: #aaa;} a:hover span { display: inline; } tr.change { background-color: gray; }
tr.change a { text-decoration: none; color: black }
</style>
<script>
var chunk_index = 0;
var old_chunk = null;
function format_chunk(index) {
var prefix = "diff";
var str = index.toString();
for (x=0; x<(4-str.length); ++x) {
prefix+='0';
}
return prefix + str;
}
function find_chunk(n){
return document.querySelector('tr[id$="' + n + '"]');
}
function change_chunk(offset) {
var index = chunk_index + offset;
var new_str;
var new_chunk;
new_str = format_chunk(index);
new_chunk = find_chunk(new_str);
if (!new_chunk) {
return;
}
if (old_chunk) {
old_chunk.style.outline = "";
}
old_chunk = new_chunk;
old_chunk.style.outline = "1px solid red";
window.location.hash = "#" + new_str;
window.scrollBy(0,-100);
chunk_index = index;
}
document.onkeydown = function(e) {
switch (e.keyCode) {
case 78:
change_chunk(1);
break;
case 80:
change_chunk(-1);
break;
}
};
</script>
<style type="text/css" id="GINGER_SOFTWARE_style">.GINGER_SOFTWARE_noMark { background : transparent; } .GINGER_SOFTWARE_wrapper{ position: absolute; overflow: hidden; margin: 0px; padding: 0px; border: 0px solid transparent } .GINGER_SOFTWARE_contour { position : absolute; margin: 0px; } .GINGER_SOFTWARE_richText { margin : 0px; padding-bottom: 3px; border-width: 0px; border-color: transparent; display: block; color: transparent; -webkit-text-fill-color: transparent; overflow: hidden; white-space: pre-wrap;} .GINGER_SOFTWARE_inputWrapper .GINGER_SOFTWARE_richText {position: absolute;} .GINGER_SOFTWARE_canvas { display:none; background-repeat:no-repeat;} .GINGER_SOFTWARE_control .GINGER_SOFTWARE_correct, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_SpellingCorrect, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_spelling, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_mark {border-top-left-radius:2px; border-top-right-radius:2px; border-bottom-right-radius:2px; border-bottom-left-radius:2px;} .GINGER_SOFTWARE_control .GINGER_SOFTWARE_correct, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_SpellingCorrect, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_spelling, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_mark {background-image:url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhFQ0Y2OENGMzE5OTExRTI4NjMxOTExNTUyMDhEMDMwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhFQ0Y2OEQwMzE5OTExRTI4NjMxOTExNTUyMDhEMDMwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEVDRjY4Q0QzMTk5MTFFMjg2MzE5MTE1NTIwOEQwMzAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEVDRjY4Q0UzMTk5MTFFMjg2MzE5MTE1NTIwOEQwMzAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5RRxRxAAAAD0lEQVR42mK48+w7QIABAAVbAroowN08AAAAAElFTkSuQmCC)!important;} .GINGER_SOFTWARE_control .GINGER_SOFTWARE_correct.GINGER_SOFTWARE_synonym, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_SpellingCorrect.GINGER_SOFTWARE_synonym, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_spelling.GINGER_SOFTWARE_synonym, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_mark.GINGER_SOFTWARE_synonym {background-image:url(data:image/gif;base64,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)!important;} .GINGER_SOFTWARE_control .GINGER_SOFTWARE_correct.GINGER_SOFTWARE_noSuggestion, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_SpellingCorrect.GINGER_SOFTWARE_noSuggestion, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_spelling.GINGER_SOFTWARE_noSuggestion, .GINGER_SOFTWARE_control .GINGER_SOFTWARE_mark.GINGER_SOFTWARE_noSuggestion {background-image:url(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhFQ0Y2OENGMzE5OTExRTI4NjMxOTExNTUyMDhEMDMwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhFQ0Y2OEQwMzE5OTExRTI4NjMxOTExNTUyMDhEMDMwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEVDRjY4Q0QzMTk5MTFFMjg2MzE5MTE1NTIwOEQwMzAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEVDRjY4Q0UzMTk5MTFFMjg2MzE5MTE1NTIwOEQwMzAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5RRxRxAAAAD0lEQVR42mK48+w7QIABAAVbAroowN08AAAAAElFTkSuQmCC)!important;} .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_correct, .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_SpellingCorrect, .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_spelling, .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_mark {position:relative; background-image:none!important;} .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_markHighlightLeft { position : absolute; left:-2px; top:0px; bottom:0px; width:2px;} .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_markHighlightRight { position : absolute; right:-2px; top:0px; bottom:0px; width:2px;} .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_markHighlightTop { position : absolute; left:0px; right:0px; top:-2px; height:3px;} .GINGER_SOFTWARE_richText .GINGER_SOFTWARE_markHighlightBottom { position : absolute; left:0px; right:0px; bottom:-2px; height:3px;}</style></head>
<body ginger_software_stylesheet="true" ginger_software_doc="true">
<table border="0" cellpadding="0" cellspacing="0">
<tbody><tr id="part-1" bgcolor="orange"><th></th><th><a href="https://tools.ietf.org/rfcdiff?url2=draft-ietf-pce-stateful-sync-optimizations-09.txt" style="color:#008; text-decoration:none;"><</a> <a href="https://tools.ietf.org/html/draft-ietf-pce-stateful-sync-optimizations-09.txt" style="color:#008">draft-ietf-pce-stateful-sync-optimizations-09.txt</a> </th><th> </th><th> <a href="https://tools.ietf.org/html/draft-ietf-pce-stateful-sync-optimizations-09.txt" style="color:#008">draft-ietf-pce-stateful-sync-optimizations-09.txt</a> <a href="https://tools.ietf.org/rfcdiff?url1=draft-ietf-pce-stateful-sync-optimizations-09.txt" style="color:#008; text-decoration:none;">></a></th><th></th></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-1" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-1"><em> page 4, line 7<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-1"><em> page 4, line 7<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> synchronization when possible. (See Section 4.)</td><td> </td><td class="right"> synchronization when possible. (See Section 4.)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> o PCE-triggered Initial Synchronization: To let PCE control the</td><td> </td><td class="right"> o PCE-triggered Initial Synchronization: To let PCE control the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> timing of the initial state synchronization. (See Section 5.)</td><td> </td><td class="right"> timing of the initial state synchronization. (See Section 5.)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> o PCE-triggered Re-synchronization: To let PCE re-synchronize the</td><td> </td><td class="right"> o PCE-triggered Re-synchronization: To let PCE re-synchronize the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> state for sanity check. (See Section 6.)</td><td> </td><td class="right"> state for sanity check. (See Section 6.)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Support for each of the synchronization optimization capabilities is</td><td> </td><td class="right"> Support for each of the synchronization optimization capabilities is</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> advertised during the PCEP initialization phase. See Section 7 for</td><td> </td><td class="right"> advertised during the PCEP initialization phase. See Section 7 for</td><td class="lineno"></td></tr>
<tr id="diff0001"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> the new flags defined in this document. The handling of each <span class="delete">of the</span></td><td> </td><td class="rblock"> the new flags defined in this document. The handling of each flag is</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> flag is described in the <span class="delete">each</span> section.</td><td> </td><td class="rblock"> described in the <span class="insert">relevant</span> section.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">2. Terminology</td><td> </td><td class="right">2. Terminology</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This document uses the following terms defined in [RFC5440]: PCC,</td><td> </td><td class="right"> This document uses the following terms defined in [RFC5440]: PCC,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> PCE, PCEP Peer.</td><td> </td><td class="right"> PCE, PCEP Peer.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This document uses the following terms defined in [RFC8051]: Stateful</td><td> </td><td class="right"> This document uses the following terms defined in [RFC8051]: Stateful</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> PCE, Delegation, LSP State Database.</td><td> </td><td class="right"> PCE, Delegation, LSP State Database.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This document uses the following terms defined in</td><td> </td><td class="right"> This document uses the following terms defined in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-2" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-2"><em> page 5, line 25<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-2"><em> page 5, line 25<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> this value MUST send back a PCErr with Error-type 20 Error-value TBD6</td><td> </td><td class="right"> this value MUST send back a PCErr with Error-type 20 Error-value TBD6</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> (suggested value - 6) 'Received an invalid LSP DB Version Number',</td><td> </td><td class="right"> (suggested value - 6) 'Received an invalid LSP DB Version Number',</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> and close the PCEP session. Operations that trigger a change to the</td><td> </td><td class="right"> and close the PCEP session. Operations that trigger a change to the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> local LSP state database include a change in the LSP operational</td><td> </td><td class="right"> local LSP state database include a change in the LSP operational</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> state, delegation of an LSP, removal or setup of an LSP or change in</td><td> </td><td class="right"> state, delegation of an LSP, removal or setup of an LSP or change in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> any of the LSP attributes that would trigger a report to the PCE.</td><td> </td><td class="right"> any of the LSP attributes that would trigger a report to the PCE.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> If the include LSP DB version capability is enabled, a PCC MUST</td><td> </td><td class="right"> If the include LSP DB version capability is enabled, a PCC MUST</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> increment its LSP State Database Version Number when the</td><td> </td><td class="right"> increment its LSP State Database Version Number when the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> 'Redelegation Timeout Interval' timer expires (see</td><td> </td><td class="right"> 'Redelegation Timeout Interval' timer expires (see</td><td class="lineno"></td></tr>
<tr id="diff0002"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> [I-D.ietf-pce-stateful-pce]<span class="delete">)</span> for the use of the Redelegation Timeout</td><td> </td><td class="rblock"> [I-D.ietf-pce-stateful-pce] for the use of the Redelegation Timeout</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Interval).</td><td> </td><td class="right"> Interval).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> If both PCEP speakers set the S flag in the OPEN object's STATEFUL-</td><td> </td><td class="right"> If both PCEP speakers set the S flag in the OPEN object's STATEFUL-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> PCE-CAPABILITY TLV to 1, the PCC MUST include the LSP-DB-VERSION TLV</td><td> </td><td class="right"> PCE-CAPABILITY TLV to 1, the PCC MUST include the LSP-DB-VERSION TLV</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> in each LSP object of the PCRpt message. If the LSP-DB-VERSION TLV</td><td> </td><td class="right"> in each LSP object of the PCRpt message. If the LSP-DB-VERSION TLV</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> is missing in a PCRpt message, the PCE will generate an error with</td><td> </td><td class="right"> is missing in a PCRpt message, the PCE will generate an error with</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Error-Type 6 (mandatory object missing) and Error-Value TBD1</td><td> </td><td class="right"> Error-Type 6 (mandatory object missing) and Error-Value TBD1</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> (suggested value - 12) 'LSP-DB-VERSION TLV missing' and close the</td><td> </td><td class="right"> (suggested value - 12) 'LSP-DB-VERSION TLV missing' and close the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> session. If the include LSP DB version capability has not been</td><td> </td><td class="right"> session. If the include LSP DB version capability has not been</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> enabled on a PCEP session, the PCC SHOULD NOT include the LSP-DB-</td><td> </td><td class="right"> enabled on a PCEP session, the PCC SHOULD NOT include the LSP-DB-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-3" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-3"><em> page 6, line 4<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-3"><em> page 6, line 4<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> session. If a PCC's LSP State Database survived the restart of a</td><td> </td><td class="right"> session. If a PCC's LSP State Database survived the restart of a</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> PCEP session, the PCC will include the LSP-DB-VERSION TLV in its OPEN</td><td> </td><td class="right"> PCEP session, the PCC will include the LSP-DB-VERSION TLV in its OPEN</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> object and the TLV will contain the latest LSP State Database Version</td><td> </td><td class="right"> object and the TLV will contain the latest LSP State Database Version</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Number. If a PCEP speaker's LSP state database did not survive the</td><td> </td><td class="right"> Number. If a PCEP speaker's LSP state database did not survive the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> restart of a PCEP session or at startup when the database is empty,</td><td> </td><td class="right"> restart of a PCEP session or at startup when the database is empty,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the PCEP speaker MUST NOT include the LSP-DB-VERSION TLV in the OPEN</td><td> </td><td class="right"> the PCEP speaker MUST NOT include the LSP-DB-VERSION TLV in the OPEN</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> object.</td><td> </td><td class="right"> object.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> If both PCEP speakers include the LSP-DB-VERSION TLV in the OPEN</td><td> </td><td class="right"> If both PCEP speakers include the LSP-DB-VERSION TLV in the OPEN</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Object and the TLV values match, the PCC MAY skip state</td><td> </td><td class="right"> Object and the TLV values match, the PCC MAY skip state</td><td class="lineno"></td></tr>
<tr id="diff0003"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> synchronization and PCE does not wait for the end of <span class="delete">syncronization</span></td><td> </td><td class="rblock"> synchronization and <span class="insert">the</span> PCE does not wait for the end of</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> marker [I-D.ietf-pce-stateful-pce]. Otherwise, the PCC MUST perform</td><td> </td><td class="rblock"> <span class="insert">synchronization</span> marker [I-D.ietf-pce-stateful-pce]. Otherwise, the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> full state synchronization (see [I-D.ietf-pce-stateful-pce]) or</td><td> </td><td class="rblock"> PCC MUST perform full state synchronization (see</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> incremental state synchronization (see Section 4 if this capability</td><td> </td><td class="rblock"> [I-D.ietf-pce-stateful-pce]) or incremental state synchronization</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> is advertised) to the stateful PCE. In other words, if the</td><td> </td><td class="rblock"> (see Section 4 if this capability is advertised) to the stateful PCE.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> incremental state synchronization capability is not advertised by the</td><td> </td><td class="rblock"> In other words, if the incremental state synchronization capability</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> peers, based on the LSP database version number match either the</td><td> </td><td class="rblock"> is not advertised by the peers, based on the LSP database version</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> state synchronization is skipped or a full state synchronization is</td><td> </td><td class="rblock"> number match either the state synchronization is skipped or a full</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> performed. If the PCC attempts to skip state synchronization, by</td><td> </td><td class="rblock"> state synchronization is performed. If the PCC attempts to skip</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> setting the SYNC Flag to 0 and PLSP-ID to a non-zero value on the</td><td> </td><td class="rblock"> state synchronization, by setting the SYNC Flag to 0 and PLSP-ID to a</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> first LSP State Report from the PCC as per</td><td> </td><td class="rblock"> non-zero value on the first LSP State Report from the PCC as per</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [I-D.ietf-pce-stateful-pce], the PCE MUST send back a PCErr with</td><td> </td><td class="right"> [I-D.ietf-pce-stateful-pce], the PCE MUST send back a PCErr with</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Error-Type 20 Error-Value TBD2 (suggested value - 2) 'LSP Database</td><td> </td><td class="right"> Error-Type 20 Error-Value TBD2 (suggested value - 2) 'LSP Database</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> version mismatch', and close the PCEP session.</td><td> </td><td class="right"> version mismatch', and close the PCEP session.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> If state synchronization is required, then prior to completing the</td><td> </td><td class="right"> If state synchronization is required, then prior to completing the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> initialization phase, the PCE MUST mark any LSPs in the LSP database</td><td> </td><td class="right"> initialization phase, the PCE MUST mark any LSPs in the LSP database</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> that were previously reported by the PCC as stale. When the PCC</td><td> </td><td class="right"> that were previously reported by the PCC as stale. When the PCC</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> reports an LSP during state synchronization, if the LSP already</td><td> </td><td class="right"> reports an LSP during state synchronization, if the LSP already</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> exists in the LSP database, the PCE MUST update the LSP database and</td><td> </td><td class="right"> exists in the LSP database, the PCE MUST update the LSP database and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> clear the stale marker from the LSP. When it has finished state</td><td> </td><td class="right"> clear the stale marker from the LSP. When it has finished state</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-4" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-4"><em> page 9, line 32<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-4"><em> page 9, line 32<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> | | LSP State Report)</td><td> </td><td class="right"> | | LSP State Report)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> |------PCRpt,SYNC=0----->|</td><td> </td><td class="right"> |------PCRpt,SYNC=0----->|</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> | |</td><td> </td><td class="right"> | |</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Figure 3: State Synchronization Skipped, no LSP-DB-VERSION TLVs sent</td><td> </td><td class="right"> Figure 3: State Synchronization Skipped, no LSP-DB-VERSION TLVs sent</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> from PCC</td><td> </td><td class="right"> from PCC</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">3.2.1. IP Address change during session re-establishment</td><td> </td><td class="right">3.2.1. IP Address change during session re-establishment</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> There could be a case during PCEP session re-establishment when the</td><td> </td><td class="right"> There could be a case during PCEP session re-establishment when the</td><td class="lineno"></td></tr>
<tr id="diff0004"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">IP-address</span> can change. This <span class="delete">includes</span> but not limited <span class="delete">to following</span></td><td> </td><td class="rblock"> <span class="insert">PCC's or PCE's IP address</span> can change. This <span class="insert">includes,</span> but <span class="insert">is</span> not</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> cases -</span></td><td> </td><td class="rblock"> limited <span class="insert">to,</span> the <span class="insert">following cases:</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"></span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> o A PCC's implementation could choose any IP address to connect to</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> the <span class="delete">PCE. And if a physical interface IP address is used and for</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> example because of line card change, the PCEP session goes down</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> and comes back up again but with a different IP address used by</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> the TCP client.</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0005"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> o <span class="delete">The peer may move in the network, either physically or logically,</span></td><td> </td><td class="rblock"> o <span class="insert">A PCC could use a physical interface</span> IP address to <span class="insert">connect to the</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> which may cause its</span> IP address to <span class="delete">change.</span></td><td> </td><td class="rblock"><span class="insert"> PCE. In this case, if the line card that the PCC connects from</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> changes, then the PCEP session goes down and comes back up again,</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> with a different IP address associated with a new line card.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0006"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> o <span class="delete">In case</span> PCE <span class="delete">is</span> deployed as virtual network function <span class="delete">(VNF),</span> and</td><td> </td><td class="rblock"> o <span class="insert">The PCC or</span> PCE <span class="insert">may move in the network, either physically or</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> another instance of PCE <span class="delete">is instantiated and</span> populated with the</td><td> </td><td class="rblock"><span class="insert"> logically, which may cause its IP address to change. For example,</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">state</span> but <span class="delete">with</span> a different IP address.</td><td> </td><td class="rblock"><span class="insert"> the PCE may be</span> deployed as <span class="insert">a</span> virtual network function <span class="insert">(VNF)</span> and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> another <span class="insert">virtualized</span> instance of <span class="insert">the</span> PCE <span class="insert">may be</span> populated with the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">original PCE instance's state,</span> but <span class="insert">be given</span> a different IP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> address.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> To ensure that a PCEP peer can recognize a previously connected peer,</td><td> </td><td class="right"> To ensure that a PCEP peer can recognize a previously connected peer,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> each PCEP peer includes the SPEAKER-ENTITY-ID TLV described in</td><td> </td><td class="right"> each PCEP peer includes the SPEAKER-ENTITY-ID TLV described in</td><td class="lineno"></td></tr>
<tr id="diff0007"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> Section 3.3.2 in the OPEN message.</td><td> </td><td class="rblock"> Section 3.3.2<span class="insert">,</span> in the OPEN message.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This TLV is used during the state synchronization procedure to</td><td> </td><td class="right"> This TLV is used during the state synchronization procedure to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> identify the PCEP session as a re-establishment of a previous session</td><td> </td><td class="right"> identify the PCEP session as a re-establishment of a previous session</td><td class="lineno"></td></tr>
<tr id="diff0008"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> that went down. <span class="delete">The</span> state synchronization <span class="delete">optimization</span> such as state</td><td> </td><td class="rblock"> that went down. <span class="insert">Then</span> state synchronization <span class="insert">optimizations</span> such as</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> sync avoidance can be applied to this session. <span class="delete">This</span> usage is <span class="delete">thus</span></td><td> </td><td class="rblock"> state sync avoidance can be applied to this session. <span class="insert">Note that this</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> applicable within the State Timeout Interval</td><td> </td><td class="rblock"> usage is <span class="insert">only</span> applicable within the State Timeout Interval</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> <span class="delete">[I-D.ietf-pce-stateful-pce], after</span> the <span class="delete">expiry of this time</span> all state</td><td> </td><td class="rblock"> <span class="insert">[I-D.ietf-pce-stateful-pce]. After</span> the <span class="insert">State Timeout Interval</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> associated with the PCEP session is <span class="delete">removed. This</span> includes the</td><td> </td><td class="rblock"><span class="insert"> expires,</span> all state associated with the PCEP session is <span class="insert">removed, which</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> SPEAKER-ENTITY-ID received. Note that the PCEP session</td><td> </td><td class="rblock"> includes the SPEAKER-ENTITY-ID received. Note that the PCEP session</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> initialization [RFC5440] procedure remains unchanged.</td><td> </td><td class="right"> initialization [RFC5440] procedure remains unchanged.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">3.3. PCEP Extensions</td><td> </td><td class="right">3.3. PCEP Extensions</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> A new INCLUDE-DB-VERSION (S) bit is added in the stateful</td><td> </td><td class="right"> A new INCLUDE-DB-VERSION (S) bit is added in the stateful</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> capabilities TLV (see Section 7 for details).</td><td> </td><td class="right"> capabilities TLV (see Section 7 for details).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">3.3.1. LSP State Database Version Number TLV</td><td> </td><td class="right">3.3.1. LSP State Database Version Number TLV</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The LSP State Database Version Number (LSP-DB-VERSION) TLV is an</td><td> </td><td class="right"> The LSP State Database Version Number (LSP-DB-VERSION) TLV is an</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-5" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-5"><em> page 16, line 10<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-5"><em> page 16, line 10<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> till the latest DB version number at the PCC.</td><td> </td><td class="right"> till the latest DB version number at the PCC.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> In order to carry out incremental state synchronization, it is not</td><td> </td><td class="right"> In order to carry out incremental state synchronization, it is not</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> necessary for a PCC to store a complete history of LSP Database</td><td> </td><td class="right"> necessary for a PCC to store a complete history of LSP Database</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> change for all time, but remember the LSP state changes (including</td><td> </td><td class="right"> change for all time, but remember the LSP state changes (including</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> LSP modification, setup and deletion), that the PCE did not get to</td><td> </td><td class="right"> LSP modification, setup and deletion), that the PCE did not get to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> process during the session down. Note that, a PCC would be unaware</td><td> </td><td class="right"> process during the session down. Note that, a PCC would be unaware</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> that a particular LSP report has been processed by the PCE before the</td><td> </td><td class="right"> that a particular LSP report has been processed by the PCE before the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> session to PCE went down. So a PCC implementation MAY choose to</td><td> </td><td class="right"> session to PCE went down. So a PCC implementation MAY choose to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> store the LSP State Database Version Number with each LSP at the time</td><td> </td><td class="right"> store the LSP State Database Version Number with each LSP at the time</td><td class="lineno"></td></tr>
<tr id="diff0009"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> its status changed, so that when a session is re-established <span class="delete">and</span></td><td> </td><td class="rblock"> its status changed, so that when a session is re-established <span class="insert">an</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> incremental synchronization <span class="delete">could</span> be attempted based on the PCE's</td><td> </td><td class="rblock"> incremental synchronization <span class="insert">can</span> be attempted based on the PCE's last</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> last LSP State Database Version Number. For LSP that is deleted at</td><td> </td><td class="rblock"> LSP State Database Version Number. For <span class="insert">an</span> LSP that is deleted at the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> the PCC, the PCC implementation would need to remember the deleted</td><td> </td><td class="rblock"> PCC, the PCC implementation would need to remember the deleted LSP in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> LSP in some way to make sure this could be reported as part of</td><td> </td><td class="rblock"> some way to make sure this could be reported as part of incremental</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> incremental synchronization later. The PCC would discard this</td><td> </td><td class="rblock"> synchronization later. The PCC would discard this information based</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> information based on a local policy, or when it determines that this</td><td> </td><td class="rblock"> on a local policy, or when it determines that this information is no</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> information is no longer needed with sufficient confidence. In the</td><td> </td><td class="rblock"> longer needed with sufficient confidence. In the example shown in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> example shown in Figure 7, the PCC needs to store the LSP state</td><td> </td><td class="rblock"> Figure 7, the PCC needs to store the LSP state changes that happened</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> changes that happened between DB Version 43 to 46 and synchronizes</td><td> </td><td class="rblock"> between DB Version 43 to 46 and synchronizes these changes, when</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> these changes, when performing incremental LSP state update.</td><td> </td><td class="rblock"> performing incremental LSP state update.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> If a PCC finds out it does not have sufficient information to</td><td> </td><td class="right"> If a PCC finds out it does not have sufficient information to</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> complete incremental synchronization after advertising incremental</td><td> </td><td class="right"> complete incremental synchronization after advertising incremental</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> LSP state synchronization capability, it MUST send a PCErr with</td><td> </td><td class="right"> LSP state synchronization capability, it MUST send a PCErr with</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Error-Type 20 and Error-Value 5 'A PCC indicates to a PCE that it can</td><td> </td><td class="right"> Error-Type 20 and Error-Value 5 'A PCC indicates to a PCE that it can</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> not complete the state synchronization' (defined in</td><td> </td><td class="right"> not complete the state synchronization' (defined in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> [I-D.ietf-pce-stateful-pce]) and terminate the session. The PCC</td><td> </td><td class="right"> [I-D.ietf-pce-stateful-pce]) and terminate the session. The PCC</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> SHOULD re-establish the session with the D bit set to 0 in the OPEN</td><td> </td><td class="right"> SHOULD re-establish the session with the D bit set to 0 in the OPEN</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> message.</td><td> </td><td class="right"> message.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-6" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-6"><em> page 17, line 14<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-6"><em> page 17, line 14<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">5.2. PCE-triggered Initial State Synchronization Procedure</td><td> </td><td class="right">5.2. PCE-triggered Initial State Synchronization Procedure</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Support of PCE-triggered initial state synchronization is advertised</td><td> </td><td class="right"> Support of PCE-triggered initial state synchronization is advertised</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> during session startup using the TRIGGERED-INITIAL-SYNC (F) bit in</td><td> </td><td class="right"> during session startup using the TRIGGERED-INITIAL-SYNC (F) bit in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the STATEFUL-PCE-CAPABILITY TLV (see Section 7).</td><td> </td><td class="right"> the STATEFUL-PCE-CAPABILITY TLV (see Section 7).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> In order to allow a stateful PCE to control the LSP-DB</td><td> </td><td class="right"> In order to allow a stateful PCE to control the LSP-DB</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> synchronization after establishing a PCEP session, both PCEP speakers</td><td> </td><td class="right"> synchronization after establishing a PCEP session, both PCEP speakers</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> MUST set F bit to 1 in the OPEN message. If the LSP-DB-VERSION TLV</td><td> </td><td class="right"> MUST set F bit to 1 in the OPEN message. If the LSP-DB-VERSION TLV</td><td class="lineno"></td></tr>
<tr id="diff0010"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> is included by both PCEP <span class="delete">speaker</span> and the TLV value matches, the state</td><td> </td><td class="rblock"> is included by both PCEP <span class="insert">speakers</span> and the TLV value matches, the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> synchronization can be skipped as described in Section 3.2. If the</td><td> </td><td class="rblock"> state synchronization can be skipped as described in Section 3.2. If</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> TLV is not included or the LSP-DB Version is mis-matched, the PCE can</td><td> </td><td class="rblock"> the TLV is not included or the LSP-DB Version is mis-matched, the PCE</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> trigger the state synchronization process by sending a PCUpd message</td><td> </td><td class="rblock"> can trigger the state synchronization process by sending a PCUpd</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> with PLSP-ID = 0 and SYNC = 1. The PCUpd message SHOULD include an</td><td> </td><td class="rblock"> message with PLSP-ID = 0 and SYNC = 1. The PCUpd message SHOULD</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> empty ERO (with no ERO sub-object and object length of 4) as its</td><td> </td><td class="rblock"> include an empty ERO (with no ERO sub-object and object length of 4)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> intended path and SHOULD NOT include the optional objects for its</td><td> </td><td class="rblock"> as its intended path and SHOULD NOT include the optional objects for</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> attributes for any parameter <span class="delete">update and the</span> PCC MUST ignore such an</td><td> </td><td class="rblock"> its attributes for any parameter <span class="insert">update. The</span> PCC MUST ignore such an</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> update when the SYNC flag is set. If the TRIGGERED-INITIAL-SYNC</td><td> </td><td class="right"> update when the SYNC flag is set. If the TRIGGERED-INITIAL-SYNC</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> capability is not advertised by a PCE and the PCC receives a PCUpd</td><td> </td><td class="right"> capability is not advertised by a PCE and the PCC receives a PCUpd</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> with the SYNC flag set to 1, the PCC MUST send a PCErr with the SRP-</td><td> </td><td class="right"> with the SYNC flag set to 1, the PCC MUST send a PCErr with the SRP-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> ID-number of the PCUpd, Error-Type 20 and Error-Value TBD4 (suggested</td><td> </td><td class="right"> ID-number of the PCUpd, Error-Type 20 and Error-Value TBD4 (suggested</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> value - 4) 'Attempt to trigger synchronization when the TRIGGERED-</td><td> </td><td class="right"> value - 4) 'Attempt to trigger synchronization when the TRIGGERED-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> SYNC capability has not been advertised' (see Section 8.1). If the</td><td> </td><td class="right"> SYNC capability has not been advertised' (see Section 8.1). If the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> TRIGGERED-INITIAL-SYNC capability is advertised by a PCE and the PCC,</td><td> </td><td class="right"> TRIGGERED-INITIAL-SYNC capability is advertised by a PCE and the PCC,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the PCC MUST NOT trigger state synchronization on its own. If the</td><td> </td><td class="right"> the PCC MUST NOT trigger state synchronization on its own. If the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> PCE receives a PCRpt message before the PCE has triggered the state</td><td> </td><td class="right"> PCE receives a PCRpt message before the PCE has triggered the state</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> synchronization, the PCE MUST send a PCErr with Error-Type 20 and</td><td> </td><td class="right"> synchronization, the PCE MUST send a PCErr with Error-Type 20 and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Error-Value TBD3 (suggested value - 3) 'Attempt to trigger</td><td> </td><td class="right"> Error-Value TBD3 (suggested value - 3) 'Attempt to trigger</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> synchronization before PCE trigger' (see Section 8.1).</td><td> </td><td class="right"> synchronization before PCE trigger' (see Section 8.1).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> In this way, the PCE can control the sequence of LSP synchronization</td><td> </td><td class="right"> In this way, the PCE can control the sequence of LSP synchronization</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> among all the PCCs that are re-establishing PCEP sessions with it.</td><td> </td><td class="right"> among all the PCCs that are re-establishing PCEP sessions with it.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> When the capability of PCE control is enabled, only after a PCC</td><td> </td><td class="right"> When the capability of PCE control is enabled, only after a PCC</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> receives this message, it will start sending information to the PCE.</td><td> </td><td class="right"> receives this message, it will start sending information to the PCE.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This PCE-triggering capability can be applied to both full and</td><td> </td><td class="right"> This PCE-triggering capability can be applied to both full and</td><td class="lineno"></td></tr>
<tr id="diff0011"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> incremental state synchronization. If applied to the <span class="delete">later,</span> the PCCs</td><td> </td><td class="rblock"> incremental state synchronization. If applied to the <span class="insert">latter,</span> the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> only send information that PCE does not possess, which is inferred</td><td> </td><td class="rblock"> PCCs only send information that PCE does not possess, which is</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> from the LSP-DB version information exchanged in the OPEN message</td><td> </td><td class="rblock"> inferred from the LSP-DB version information exchanged in the OPEN</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> (see Section 4.2 for detailed procedure).</td><td> </td><td class="rblock"> message (see Section 4.2 for detailed procedure).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Once the initial state synchronization is triggered by the PCE, the</td><td> </td><td class="right"> Once the initial state synchronization is triggered by the PCE, the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> procedures and error checks remain unchanged</td><td> </td><td class="right"> procedures and error checks remain unchanged</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> ([I-D.ietf-pce-stateful-pce]).</td><td> </td><td class="right"> ([I-D.ietf-pce-stateful-pce]).</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> If a PCC implementation that does not implement this extension should</td><td> </td><td class="right"> If a PCC implementation that does not implement this extension should</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> not receive a PCUpd message to trigger state synchronization as per</td><td> </td><td class="right"> not receive a PCUpd message to trigger state synchronization as per</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the capability advertisement, but if it were to receive it, it will</td><td> </td><td class="right"> the capability advertisement, but if it were to receive it, it will</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> behave as per [I-D.ietf-pce-stateful-pce].</td><td> </td><td class="right"> behave as per [I-D.ietf-pce-stateful-pce].</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-7" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-7"><em> page 18, line 27<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-7"><em> page 18, line 27<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left">6.2. PCE-triggered State Re-synchronization Procedure</td><td> </td><td class="right">6.2. PCE-triggered State Re-synchronization Procedure</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Support of PCE-triggered state re-synchronization is advertised by</td><td> </td><td class="right"> Support of PCE-triggered state re-synchronization is advertised by</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> both PCEP speakers during session startup using the TRIGGERED-RESYNC</td><td> </td><td class="right"> both PCEP speakers during session startup using the TRIGGERED-RESYNC</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> (T) bit in the STATEFUL-PCE-CAPABILITY TLV (see Section 7). The PCE</td><td> </td><td class="right"> (T) bit in the STATEFUL-PCE-CAPABILITY TLV (see Section 7). The PCE</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> can choose to re-synchronize its entire LSP database or a single LSP.</td><td> </td><td class="right"> can choose to re-synchronize its entire LSP database or a single LSP.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> To trigger re-synchronization for an LSP, the PCE sends a Path</td><td> </td><td class="right"> To trigger re-synchronization for an LSP, the PCE sends a Path</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Computation State Update (PCUpd) for the LSP, with the SYNC flag in</td><td> </td><td class="right"> Computation State Update (PCUpd) for the LSP, with the SYNC flag in</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the LSP object set to 1. The PCE SHOULD NOT include any parameter</td><td> </td><td class="right"> the LSP object set to 1. The PCE SHOULD NOT include any parameter</td><td class="lineno"></td></tr>
<tr id="diff0012"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> updates for the LSP, and the PCC MUST ignore such an update<span class="delete">s</span> when the</td><td> </td><td class="rblock"> updates for the LSP, and the PCC MUST ignore such an update when the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> SYNC flag is set. The PCC MUST respond with a PCRpt message with the</td><td> </td><td class="right"> SYNC flag is set. The PCC MUST respond with a PCRpt message with the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> LSP state, SYNC Flag set to 0 and MUST include the SRP-ID-number of</td><td> </td><td class="right"> LSP state, SYNC Flag set to 0 and MUST include the SRP-ID-number of</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the PCUpd message that triggered the resynchronization. If the PCC</td><td> </td><td class="right"> the PCUpd message that triggered the resynchronization. If the PCC</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> cannot find the LSP in its database, PCC MUST also set the R (remove)</td><td> </td><td class="right"> cannot find the LSP in its database, PCC MUST also set the R (remove)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> flag [I-D.ietf-pce-stateful-pce] in the LSP object in the PCRpt</td><td> </td><td class="right"> flag [I-D.ietf-pce-stateful-pce] in the LSP object in the PCRpt</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> message.</td><td> </td><td class="right"> message.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The PCE can also trigger re-synchronization of the entire LSP</td><td> </td><td class="right"> The PCE can also trigger re-synchronization of the entire LSP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> database. The PCE MUST first mark all LSPs in the LSP database that</td><td> </td><td class="right"> database. The PCE MUST first mark all LSPs in the LSP database that</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> were previously reported by the PCC as stale and then send a PCUpd</td><td> </td><td class="right"> were previously reported by the PCC as stale and then send a PCUpd</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> with an LSP object containing a PLSP-ID of 0 and with the SYNC flag</td><td> </td><td class="right"> with an LSP object containing a PLSP-ID of 0 and with the SYNC flag</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> set to 1. The PCUpd message MUST include an empty ERO (with no ERO</td><td> </td><td class="right"> set to 1. The PCUpd message MUST include an empty ERO (with no ERO</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> sub-object and object length of 4) as its intended path and SHOULD</td><td> </td><td class="right"> sub-object and object length of 4) as its intended path and SHOULD</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> NOT include the optional objects for its attributes for any parameter</td><td> </td><td class="right"> NOT include the optional objects for its attributes for any parameter</td><td class="lineno"></td></tr>
<tr id="diff0013"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> update<span class="delete"> and t</span>he PCC MUST ignore such update if the SYNC flag is set.</td><td> </td><td class="rblock"> update<span class="insert">. T</span>he PCC MUST ignore such update if the SYNC flag is set.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> This PCUpd message is the trigger for the PCC to enter the</td><td> </td><td class="right"> This PCUpd message is the trigger for the PCC to enter the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> synchronization phase as described in [I-D.ietf-pce-stateful-pce] and</td><td> </td><td class="right"> synchronization phase as described in [I-D.ietf-pce-stateful-pce] and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> start sending PCRpt messages. After the receipt of the end-of-</td><td> </td><td class="right"> start sending PCRpt messages. After the receipt of the end-of-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> synchronization marker, the PCE will purge LSPs which were not</td><td> </td><td class="right"> synchronization marker, the PCE will purge LSPs which were not</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> refreshed. The SRP-ID-number of the PCUpd that triggered the re-</td><td> </td><td class="right"> refreshed. The SRP-ID-number of the PCUpd that triggered the re-</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> synchronization SHOULD be included in each of the PCRpt messages. If</td><td> </td><td class="right"> synchronization SHOULD be included in each of the PCRpt messages. If</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the PCC cannot re-synchronize the entire LSP database, the PCC MUST</td><td> </td><td class="right"> the PCC cannot re-synchronize the entire LSP database, the PCC MUST</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> respond with PCErr message with Error-type 20 Error-value 5 'cannot</td><td> </td><td class="right"> respond with PCErr message with Error-type 20 Error-value 5 'cannot</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> complete the state synchronization' [I-D.ietf-pce-stateful-pce], and</td><td> </td><td class="right"> complete the state synchronization' [I-D.ietf-pce-stateful-pce], and</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> MAY terminate the session. The PCE MUST remove the stale mark for</td><td> </td><td class="right"> MAY terminate the session. The PCE MUST remove the stale mark for</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-8" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-8"><em> page 19, line 32<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-8"><em> page 19, line 32<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"> capability advertisement, but if it were to receive it, it will</td><td> </td><td class="right"> capability advertisement, but if it were to receive it, it will</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> behave as per [I-D.ietf-pce-stateful-pce].</td><td> </td><td class="right"> behave as per [I-D.ietf-pce-stateful-pce].</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">7. Advertising Support of Synchronization Optimizations</td><td> </td><td class="right">7. Advertising Support of Synchronization Optimizations</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Support for each of the optimizations described in this document</td><td> </td><td class="right"> Support for each of the optimizations described in this document</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> requires advertising the corresponding capabilities during session</td><td> </td><td class="right"> requires advertising the corresponding capabilities during session</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> establishment time.</td><td> </td><td class="right"> establishment time.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The STATEFUL-PCE-CAPABILITY TLV is defined in</td><td> </td><td class="right"> The STATEFUL-PCE-CAPABILITY TLV is defined in</td><td class="lineno"></td></tr>
<tr id="diff0014"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> [I-D.ietf-pce-stateful-pce]. This document <span class="delete">request</span> following new</td><td> </td><td class="rblock"> [I-D.ietf-pce-stateful-pce]. This document <span class="insert">defines</span> following new</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> flags in the STATEFUL-PCE-CAPABILITY TLV:</td><td> </td><td class="right"> flags in the STATEFUL-PCE-CAPABILITY TLV:</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Bit Description</td><td> </td><td class="right"> Bit Description</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> TBD9 (suggested value 30) S bit (INCLUDE-DB-VERSION)</td><td> </td><td class="right"> TBD9 (suggested value 30) S bit (INCLUDE-DB-VERSION)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> TBD10 (suggested value 27) D bit (DELTA-LSP-SYNC-CAPABILITY)</td><td> </td><td class="right"> TBD10 (suggested value 27) D bit (DELTA-LSP-SYNC-CAPABILITY)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> TBD11 (suggested value 26) F bit (TRIGGERED-INITIAL-SYNC)</td><td> </td><td class="right"> TBD11 (suggested value 26) F bit (TRIGGERED-INITIAL-SYNC)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> TBD12 (suggested value 28) T bit (TRIGGERED-RESYNC)</td><td> </td><td class="right"> TBD12 (suggested value 28) T bit (TRIGGERED-RESYNC)</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> If the S (INCLUDE-DB-VERSION) bit is set to 1 by both PCEP Speakers,</td><td> </td><td class="right"> If the S (INCLUDE-DB-VERSION) bit is set to 1 by both PCEP Speakers,</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> the PCC will include the LSP-DB-VERSION TLV in each LSP Object. See</td><td> </td><td class="right"> the PCC will include the LSP-DB-VERSION TLV in each LSP Object. See</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="part-9" class="change"><td></td><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-9"><em> page 22, line 28<span class="hide"> ¶</span></em></a></th><th> </th><th><small>skipping to change at</small><a href="https://tools.ietf.org/rfcdiff#part-9"><em> page 22, line 28<span class="hide"> ¶</span></em></a></th><td></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Mechanisms defined in this document do not imply any new requirements</td><td> </td><td class="right"> Mechanisms defined in this document do not imply any new requirements</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> on other protocols.</td><td> </td><td class="right"> on other protocols.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">9.6. Impact On Network Operations</td><td> </td><td class="right">9.6. Impact On Network Operations</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Mechanisms defined in [RFC5440] and [I-D.ietf-pce-stateful-pce] also</td><td> </td><td class="right"> Mechanisms defined in [RFC5440] and [I-D.ietf-pce-stateful-pce] also</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> apply to PCEP extensions defined in this document.</td><td> </td><td class="right"> apply to PCEP extensions defined in this document.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The state synchronization optimizations described in this document</td><td> </td><td class="right"> The state synchronization optimizations described in this document</td><td class="lineno"></td></tr>
<tr id="diff0015"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> can result in <span class="delete">savings the load on</span> the data <span class="delete">exchanges</span> and time <span class="delete">it</span></td><td> </td><td class="rblock"> can result in <span class="insert">a reduction of</span> the <span class="insert">amount of</span> data <span class="insert">exchanged</span> and <span class="insert">the</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> takes</span> for stateful PCE to be fully operational <span class="delete">in case of re-</span></td><td> </td><td class="rblock"> time <span class="insert">taken</span> for <span class="insert">a</span> stateful PCE to be fully operational <span class="insert">when a</span> PCEP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> establishment of</span> PCEP <span class="delete">session.</span> The ability to trigger <span class="delete">re-</span></td><td> </td><td class="rblock"> <span class="insert">session is re-established.</span> The ability to trigger <span class="insert">re-synchronization</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> synchronization</span> by the PCE can be utilized by the operator to sanity</td><td> </td><td class="rblock"> by the PCE can be utilized by the operator to sanity check its state</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> check its state and recover from any mismatch in state without</td><td> </td><td class="rblock"> and recover from any mismatch in state without tearing down the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> tearing down the session.</td><td> </td><td class="rblock"> session.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">10. Security Considerations</td><td> </td><td class="right">10. Security Considerations</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> The security considerations listed in [I-D.ietf-pce-stateful-pce]</td><td> </td><td class="right"> The security considerations listed in [I-D.ietf-pce-stateful-pce]</td><td class="lineno"></td></tr>
<tr id="diff0016"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> apply to this document as well. However, <span class="delete">because the protocol</span></td><td> </td><td class="rblock"> apply to this document as well. However, this document also</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> modifications outlined in</span> this document <span class="delete">such as use of SPEAKER-</span></td><td> </td><td class="rblock"> introduces <span class="insert">some</span> new attack vectors. An attacker could spoof the</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> ENTITY-ID and the ability for the PCE to control state (re)-</span></td><td> </td><td class="rblock"> SPEAKER-ENTITY-ID and pretend to be another PCEP speaker. An</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> synchronization timing and sequence, it</span> also introduces new attack</td><td> </td><td class="rblock"> attacker may flood the PCC with triggered re-synchronization request</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> vectors. An attacker could spoof the SPEAKER-ENTITY-ID and pretend</td><td> </td><td class="rblock"> at a rate which exceeds the PCC's ability to process them, either by</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> to be another PCEP speaker. An attacker may flood the PCC with</td><td> </td><td class="rblock"> spoofing messages or by compromising the PCE itself. The PCC can</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> triggered re-synchronization request at a rate which exceeds the</td><td> </td><td class="rblock"> respond with PCErr message as described in Section 6.2 and terminate</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> PCC's ability to process them, either by spoofing messages or by</td><td> </td><td class="rblock"> the session. Thus securing the PCEP session using mechanism like TCP</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> compromising the PCE itself. The PCC can respond with PCErr message</td><td> </td><td class="rblock"> Authentication Option <span class="insert">(TCP-AO)</span> [RFC5925] or Transport Layer Security</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> as described in Section 6.2 and terminate the session. Thus securing</td><td> </td><td class="rblock"> (TLS) [I-D.ietf-pce-pceps] is RECOMMENDED.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> the PCEP session using mechanism like TCP Authentication Option <span class="delete">(TCP-</span></td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"><span class="delete"> AO)</span> [RFC5925] or Transport Layer Security (TLS) [I-D.ietf-pce-pceps]</td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> is RECOMMENDED.</td><td> </td><td class="rblock"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">11. Acknowledgments</td><td> </td><td class="right">11. Acknowledgments</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr id="diff0017"><td></td></tr>
<tr><td class="lineno"></td><td class="lblock"> We would like to thank Young Lee, <span class="delete">Jonathan Hardwick,</span> Sergio Belotti</td><td> </td><td class="rblock"> We would like to thank Young Lee, Sergio Belotti and Cyril Margaria</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"> and Cyril Margaria for their comments and discussions.</td><td> </td><td class="rblock"> for their comments and discussions.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> </td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"> <span class="insert">Thanks to Jonathan Hardwick for being the document shepherd and</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="lblock"></td><td> </td><td class="rblock"><span class="insert"> provide comments and guidance.</span></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Thanks to Tomonori Takeda for Routing Area Directorate review.</td><td> </td><td class="right"> Thanks to Tomonori Takeda for Routing Area Directorate review.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Thanks to Adrian Farrel for TSVART review and providing detailed</td><td> </td><td class="right"> Thanks to Adrian Farrel for TSVART review and providing detailed</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> comments and suggestions.</td><td> </td><td class="right"> comments and suggestions.</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left">12. Contributors</td><td> </td><td class="right">12. Contributors</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"></td><td> </td><td class="right"></td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Gang Xie</td><td> </td><td class="right"> Gang Xie</td><td class="lineno"></td></tr>
<tr><td class="lineno"></td><td class="left"> Huawei Technologies</td><td> </td><td class="right"> Huawei Technologies</td><td class="lineno"></td></tr>
<tr><td></td><td class="left"></td><td> </td><td class="right"></td><td></td></tr>
<tr id="end" bgcolor="gray"><th colspan="5" align="center"> End of changes. 17 change blocks. </th></tr>
<tr class="stats"><td></td><th><i>81 lines changed or deleted</i></th><th><i> </i></th><th><i>80 lines changed or added</i></th><td></td></tr>
<tr><td colspan="5" align="center" class="small"><br>This html diff was produced by rfcdiff 1.45. The latest version is available from <a href="http://www.tools.ietf.org/tools/rfcdiff/">http://tools.ietf.org/tools/rfcdiff/</a> </td></tr>
</tbody></table>
<iframe width="0" height="0" frameborder="0" src="./Diff_ Jon_files/saved_resource.html" id="GINGER_SOFTWARE_bubblesIFrame" scrolling="no" style="border: 0px solid; display: none; position: absolute; z-index: 2147483647; height: 0px; width: 0px; background-color: transparent;"></iframe><div id="GingerWidgetInfo" style="display:none;">{"version":"0.1.0.608","isExtension":true,"extensionName":"Chrome"}</div></body></html>