summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4872.txt
blob: f65650508a6b5b505e06152959a41eac05f01ad7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
Network Working Group                                     J.P. Lang, Ed.
Request for Comments: 4872                                         Sonos
Updates: 3471                                            Y. Rekhter, Ed.
Category: Standards Track                                        Juniper
                                                   D. Papadimitriou, Ed.
                                                                 Alcatel
                                                                May 2007


              RSVP-TE Extensions in Support of End-to-End
      Generalized Multi-Protocol Label Switching (GMPLS) Recovery

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The IETF Trust (2007).

Abstract

   This document describes protocol-specific procedures and extensions
   for Generalized Multi-Protocol Label Switching (GMPLS) Resource
   ReSerVation Protocol - Traffic Engineering (RSVP-TE) signaling to
   support end-to-end Label Switched Path (LSP) recovery that denotes
   protection and restoration.  A generic functional description of
   GMPLS recovery can be found in a companion document, RFC 4426.

Table of Contents

  1. Introduction .....................................................3
   2. Conventions Used in This Document ...............................5
   3. Relationship to Fast Reroute (FRR) ..............................5
   4. Definitions .....................................................6
      4.1. LSP Identification .........................................6
      4.2. Recovery Attributes ........................................7
           4.2.1. LSP Status ..........................................7
           4.2.2. LSP Recovery ........................................8
      4.3. LSP Association ............................................9
   5. 1+1 Unidirectional Protection ...................................9
      5.1. Identifiers ...............................................10





Lang, et al.                Standards Track                     [Page 1]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   6. 1+1 Bidirectional Protection ...................................10
      6.1. Identifiers ...............................................11
      6.2. End-to-End Switchover Request/Response ....................11
   7. 1:1 Protection with Extra-Traffic ..............................13
      7.1. Identifiers ...............................................14
      7.2. End-to-End Switchover Request/Response ....................15
      7.3. 1:N (N > 1) Protection with Extra-Traffic .................16
   8. Rerouting without Extra-Traffic ................................17
      8.1. Identifiers ...............................................19
      8.2. Signaling Primary LSPs ....................................19
      8.3. Signaling Secondary LSPs ..................................19
   9. Shared-Mesh Restoration ........................................20
      9.1. Identifiers ...............................................22
      9.2. Signaling Primary LSPs ....................................22
      9.3. Signaling Secondary LSPs ..................................23
   10. LSP Preemption ................................................23
   11. (Full) LSP Rerouting ..........................................25
      11.1. Identifiers ..............................................25
      11.2. Signaling Reroutable LSPs ................................26
   12. Reversion .....................................................26
   13. Recovery Commands .............................................29
   14. PROTECTION Object .............................................31
      14.1. Format ...................................................31
      14.2. Processing ...............................................33
   15. PRIMARY_PATH_ROUTE Object .....................................33
      15.1. Format ...................................................34
      15.2. Subobjects ...............................................34
      15.3. Applicability ............................................35
      15.4. Processing ...............................................36
   16. ASSOCIATION Object ............................................37
      16.1. Format ...................................................37
      16.2. Processing ...............................................38
   17. Updated RSVP Message Formats ..................................39
   18. Security Considerations .......................................40
   19. IANA Considerations ...........................................41
   20. Acknowledgments ...............................................43
   21. References ....................................................43
      21.1. Normative References .....................................43
      21.2. Informative References ...................................44
   22. Contributors ..................................................45











Lang, et al.                Standards Track                     [Page 2]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


1.  Introduction

   Generalized Multi-Protocol Label Switching (GMPLS) extends MPLS to
   include support for Layer-2 Switch Capable (L2SC), Time-Division
   Multiplex (TDM), Lambda Switch Capable (LSC), and Fiber Switch
   Capable (FSC) interfaces.  GMPLS recovery uses control plane
   mechanisms (i.e., signaling, routing, and link management mechanisms)
   to support data plane fault recovery.  Note that the analogous (data
   plane) fault detection mechanisms are required to be present in
   support of the control plane mechanisms.  In this document, the term
   "recovery" is generically used to denote both protection and
   restoration; the specific terms "protection" and "restoration" are
   only used when differentiation is required.  The subtle distinction
   between protection and restoration is made based on the resource
   allocation done during the recovery phase (see [RFC4427]).

   A functional description of GMPLS recovery is provided in [RFC4426]
   and should be considered as a companion document.  The present
   document describes the protocol-specific procedures for GMPLS RSVP-
   TE (Resource ReSerVation Protocol - Traffic Engineering) signaling
   (see [RFC3473]) to support end-to-end recovery.  End-to-end recovery
   refers to the recovery of an entire LSP from its head-end (ingress
   node endpoint) to its tail-end (egress node endpoint).  With end-to-
   end recovery, working LSPs are assumed to be resource-disjoint (where
   a resource is a link, node, or Shared Risk Link Group (SRLG)) in the
   network so that they do not share any failure probability, but this
   is not mandatory.  With respect to a given set of network resources,
   a pair of working/protecting LSPs SHOULD be resource disjoint in case
   of dedicated recovery type (see below).  On the other hand, in case
   of shared recovery (see below), a group of working LSPs SHOULD be
   mutually resource-disjoint in order to allow for a (single and
   commonly) shared protecting LSP, itself resource-disjoint from each
   of the working LSPs.  Note that resource disjointness is a necessary
   (but not sufficient) condition to ensure LSP recoverability.

   The present document addresses four types of end-to-end LSP recovery:
   1) 1+1 (unidirectional/bidirectional) protection, 2) 1:N (N >= 1) LSP
   protection with extra-traffic, 3) pre-planned LSP rerouting without
   extra-traffic (including shared mesh), and 4) full LSP rerouting.

   1) The simplest notion of end-to-end LSP protection is 1+1
      unidirectional protection.  Using this type of protection, a
      protecting LSP is signaled over a dedicated resource-disjoint
      alternate path to protect an associated working LSP.  Normal
      traffic is simultaneously sent on both LSPs and a selector is used
      at the egress node to receive traffic from one of the LSPs.  If a
      failure occurs along one of the LSPs, the egress node selects the




Lang, et al.                Standards Track                     [Page 3]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


      traffic from the valid LSP.  No coordination is required between
      the end nodes when a failure/switchover occurs.

      In 1+1 bidirectional protection, a protecting LSP is signaled over
      a dedicated resource-disjoint alternate path to protect the
      working LSP.  Normal traffic is simultaneously sent on both LSPs
      (in both directions), and a selector is used at both
      ingress/egress nodes to receive traffic from the same LSP.  This
      requires coordination between the end-nodes when switching to the
      protecting LSP.

   2) In 1:N (N >= 1) protection with extra-traffic, the protecting LSP
      is a fully provisioned and resource-disjoint LSP from the N
      working LSPs, that allows for carrying extra-traffic.  The N
      working LSPs MAY be mutually resource-disjoint.  Coordination
      between end-nodes is required when switching from one of the
      working LSPs to the protecting LSP.  As the protecting LSP is
      fully provisioned, default operations during protection switching
      are specified for a protecting LSP carrying extra-traffic, but
      this is not mandatory.  Note that M:N protection is out of scope
      of this document (though mechanisms it defines may be extended to
      cover it).

   3) Pre-planned LSP rerouting (or restoration) relies on the
      establishment between the same pair of end-nodes of a working LSP
      and a protecting LSP that is link/node/SRLG disjoint from the
      working one.  Here, the recovery resources for the protecting LSP
      are pre-reserved but explicit action is required to activate
      (i.e., commit resource allocation at the data plane) a specific
      protecting LSP instantiated during the (pre-)provisioning phase.
      Since the protecting LSP is not "active" (i.e., fully
      instantiated), it cannot carry any extra-traffic.  This does not
      mean that the corresponding resources cannot be used by other
      LSPs.  Therefore, this mechanism protects against working LSP(s)
      failure(s) but requires activation of the protecting LSP after
      working LSP failure occurrence.  This requires restoration
      signaling along the protecting path.  "Shared-mesh" restoration
      can be seen as a particular case of pre-planned LSP rerouting that
      reduces the recovery resource requirements by allowing multiple
      protecting LSPs to share common link and node resources.  The
      recovery resources are pre-reserved but explicit action is
      required to activate (i.e., commit resource allocation at the data
      plane) a specific protecting LSP instantiated during the (pre-)
      provisioning phase.  This procedure requires restoration signaling
      along the protecting path.






Lang, et al.                Standards Track                     [Page 4]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


      Note that in both cases, bandwidth pre-reserved for a protecting
      (but not activated) LSP can be made available for carrying extra
      traffic.  LSPs for extra-traffic (with lower holding priority than
      the protecting LSP) can then be established using the bandwidth
      pre-reserved for the protecting LSP.  Also, any lower priority LSP
      that use the pre-reserved resources for the protecting LSP(s) must
      be preempted during the activation of the protecting LSP.

   4) Full LSP rerouting (or restoration) switches normal traffic to an
      alternate LSP that is not even partially established until after
      the working LSP failure occurs.  The new alternate route is
      selected at the LSP head-end node, it may reuse resources of the
      failed LSP at intermediate nodes and may include additional
      intermediate nodes and/or links.

   Crankback signaling (see [CRANK]) and LSP segment recovery (see
   [RFC4873]) are further detailed in dedicated companion documents.

2.  Conventions Used in This Document

   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].

   In addition, the reader is assumed to be familiar with the
   terminology used in [RFC3945], [RFC3471], [RFC3473] and referenced as
   well as in [RFC4427] and [RFC4426].

3.  Relationship to Fast Reroute (FRR)

   There is no impact to RSVP-TE Fast Reroute (FRR) [RFC4090] introduced
   by end-to-end GMPLS recovery i.e., it is possible to use either
   method defined in FRR with end-to-end GMPLS recovery.

   The objects used and/or newly introduced by end-to-end recovery will
   be ignored by [RFC4090] conformant implementations, and FRR can
   operate on a per LSP basis as defined in [RFC4090].














Lang, et al.                Standards Track                     [Page 5]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


4.  Definitions

4.1.  LSP Identification

   This section reviews terms previously defined in [RFC2205],
   [RFC3209], and [RFC3473].  LSP tunnels are identified by a
   combination of the SESSION and SENDER_TEMPLATE objects (see also
   [RFC3209]).  The relevant fields are as follows:

   IPv4 (or IPv6) tunnel endpoint address

        IPv4 (or IPv6) address of the egress node for the tunnel.

   Tunnel ID

        A 16-bit identifier used in the SESSION that remains constant
        over the life of the tunnel.

   Extended Tunnel ID

        A 32-bit (or 16-byte) identifier used in the SESSION that
        remains constant over the life of the tunnel.  Normally set to
        all zeros.  Ingress nodes that wish to narrow the scope of a
        SESSION to the ingress-egress pair MAY place their IPv4 (or
        IPv6) address here as a globally unique identifier.

   IPv4 (or IPv6) tunnel sender address

        IPv4 (or IPv6) address for a sender node.

   LSP ID

        A 16-bit identifier used in the SENDER_TEMPLATE and FILTER_SPEC
        that can be changed to allow a sender to share resources with
        itself.

   The first three fields are carried in the SESSION object (Path and
   Resv message) and constitute the basic identification of the LSP
   tunnel.

   The last two fields are carried in the SENDER_TEMPLATE (Path message)
   and FILTER_SPEC objects (Resv message).  The LSP ID is used to
   differentiate LSPs that belong to the same LSP Tunnel (as identified
   by its Tunnel ID).







Lang, et al.                Standards Track                     [Page 6]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


4.2.  Recovery Attributes

   The recovery attributes include all the parameters that determine the
   status of an LSP within the recovery scheme to which it is
   associated.  These attributes are part of the PROTECTION object
   introduced in Section 14.

4.2.1.  LSP Status

   The following bits are used in determining resource allocation and
   status of the LSP within the group of LSPs forming the protected
   entity:

   - S (Secondary) bit: enables distinction between primary and
     secondary LSPs.  A primary LSP is a fully established LSP for which
     the resource allocation has been committed at the data plane (i.e.,
     full cross-connection has been performed).  Both working and
     protecting LSPs can be primary LSPs.  A secondary LSP is an LSP
     that has been provisioned in the control plane only, and for which
     resource selection MAY have been done but for which the resource
     allocation has not been committed at the data plane (for instance,
     no cross-connection has been performed).  Therefore, a secondary
     LSP is not immediately available to carry any traffic (thus
     requiring additional signaling to be available).  A secondary LSP
     can only be a protecting LSP.  The (data plane) resources allocated
     for a secondary LSP MAY be used by other LSPs until the primary LSP
     fails over to the secondary LSP.

   - P (Protecting) bit: enables distinction between working and
     protecting LSPs.  A working LSP must be a primary LSP whilst a
     protecting LSP can be either a primary or a secondary LSP.  When
     protecting LSP(s) are associated with working LSP(s), one also
     refers to the latter as protected LSPs.

   Note: The combination "secondary working" is not valid (only
   protecting LSPs can be secondary LSPs).  Working LSPs are always
   primary LSPs (i.e., fully established) whilst primary LSPs can be
   either working or protecting LSPs.

   - O (Operational) bit: this bit is set when a protecting LSP is
     carrying the normal traffic after protection switching (i.e.,
     applies only in case of dedicated LSP protection or LSP protection
     with extra-traffic; see Section 4.2.2).

   In this document, the PROTECTION object uses as a basis the
   PROTECTION object defined in [RFC3471] and [RFC3473] and defines
   additional fields within it.  The fields defined in [RFC3471] and
   [RFC3473] are unchanged by this document.



Lang, et al.                Standards Track                     [Page 7]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


4.2.2.  LSP Recovery

   The following classification is used to distinguish the LSP
   Protection Type with which LSPs can be associated at end-nodes (a
   distinct value is associated with each Protection Type in the
   PROTECTION object; see Section 14):

   - Full LSP Rerouting: set if a primary working LSP is dynamically
     recoverable using (non pre-planned) head-end rerouting.

   - Pre-planned LSP Rerouting without Extra-traffic: set if a
     protecting LSP is a secondary LSP that allows sharing of the pre-
     reserved recovery resources between one or more than one
     <sender;receiver> pair.  When the secondary LSPs resources are not
     pre-reserved for a single <sender;receiver> pair, this type is
     referred to as "shared mesh" recovery.

   - LSP Protection with Extra-traffic: set if a protecting LSP is a
     dedicated primary LSP that allows for extra-traffic transport and
     thus precludes any sharing of the recovery resources between more
     than one <sender;receiver> pair.  This type includes 1:N LSP
     protection with extra-traffic.

   - Dedicated LSP Protection: set if a protecting LSP does not allow
     sharing of the recovery resources nor the transport of extra-
     traffic (implying in the present context, duplication of the signal
     over both working and protecting LSPs as in 1+1 dedicated
     protection).  Note also that this document makes a distinction
     between 1+1 unidirectional and bidirectional dedicated LSP
     protection.

   For LSP protection, in particular, when the data plane provides
   automated protection-switching capability (see for instance ITU-T
   [G.841] Recommendation), a Notification (N) bit is defined in the
   PROTECTION object.  It allows for distinction between protection
   switching signaling via the control plane or the data plane.

   Note: this document assumes that Protection Type values have end-to-
   end significance and that the same value is sent over the protected
   and the protecting path.  In this context, shared-mesh (for instance)
   appears from the end-nodes perspective as being simply an LSP
   rerouting without extra-traffic services.  The net result of this is
   that a single bit (the S bit alone) does not allow determining
   whether resource allocation should be performed with respect to the
   status of the LSP within the protected entity.  The introduction of
   the P bit solves this problem unambiguously.  These bits MUST be
   processed on a hop-by-hop basis (independently of the LSP Protection
   Type context).  This allows for an easier implementation of reversion



Lang, et al.                Standards Track                     [Page 8]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   signaling (see Section 12) but also facilitates the transparent
   delivery of protected services since any intermediate node is not
   required to know the semantics associated with the incoming LSP
   Protection Type value.

4.3.  LSP Association

   The ASSOCIATION object, introduced in Section 16, is used to
   associate the working and protecting LSPs.

   When used for signaling the working LSP, the Association ID of the
   ASSOCIATION object (see Section 16) identifies the protecting LSP.
   When used for signaling the protecting LSP, this field identifies the
   LSP protected by the protecting LSP.

5.  1+1 Unidirectional Protection

   One of the simplest notions of end-to-end LSP protection is 1+1
   unidirectional protection.

   Consider the following network topology:

                                  A---B---C---D
                                   \         /
                                    E---F---G

   The paths [A,B,C,D] and [A,E,F,G,D] are node and link disjoint,
   ignoring the ingress/egress nodes A and D.  A 1+1 protected path is
   established from A to D over [A,B,C,D] and [A,E,F,G,D], and traffic
   is transmitted simultaneously over both component paths (i.e., LSPs).

   During the provisioning phase, both LSPs are fully instantiated (and
   thus activated) so that no resource sharing can be done along the
   protecting LSP (nor can any extra-traffic be transported).  It is
   also RECOMMENDED to set the N bit since no protection-switching
   signaling is assumed in this case.

   When a failure occurs (say, at node B) and is detected at end-node D,
   the receiver at D selects the normal traffic from the other LSP.
   From this perspective, 1+1 unidirectional protection can be seen as
   an uncoordinated protection-switching mechanism acting independently
   at both endpoints.  Also, for the LSP under failure condition, it is
   RECOMMENDED to not set the Path_State_Removed Flag of the ERROR_SPEC
   object (see [RFC3473]) upon PathErr message generation.

   Note: it is necessary that both paths are SRLG disjoint to ensure
   recoverability; otherwise, a single failure may impact both working
   and protecting LSPs.



Lang, et al.                Standards Track                     [Page 9]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


5.1.  Identifiers

   To simplify association operations, both LSPs belong to the same
   session.  Thus, the SESSION object MUST be the same for both LSPs.
   The LSP ID, however, MUST be different to distinguish between the two
   LSPs.

   A new PROTECTION object (see Section 14) is included in the Path
   message.  This object carries the desired end-to-end LSP Protection
   Type -- in this case, "1+1 Unidirectional".  This LSP Protection Type
   value is applicable to both uni- and bidirectional LSPs.

   To allow distinguishing the working LSP (from which the signal is
   taken) from the protecting LSP, the working LSP is signaled by
   setting in the PROTECTION object the S bit to 0, the P bit to 0, and
   in the ASSOCIATION object, the Association ID to the protecting
   LSP_ID.  The protecting LSP is signaled by setting in the PROTECTION
   object the S bit to 0, the P bit to 1, and in the ASSOCIATION object,
   the Association ID to the associated protected LSP_ID.

   After protection switching completes, and after reception of the
   PathErr message, to keep track of the LSP from which the signal is
   taken, the protecting LSP SHOULD be signaled with the O bit set.  The
   formerly working LSP MAY be signaled with the A bit set in the
   ADMIN_STATUS object (see [RFC3473]).  This process assumes the tail-
   end node has notified the head-end node that traffic selection
   switchover has occurred.

6.  1+1 Bidirectional Protection

   1+1 bidirectional protection is a scheme that provides end-to-end
   protection for bidirectional LSPs.

   Consider the following network topology:

                                  A---B---C---D
                                   \         /
                                    E---F---G

   The LSPs [A,B,C,D] and [A,E,F,G,D] are node and link disjoint,
   ignoring the ingress/egress nodes A and D.  A bidirectional LSP is
   established from A to D over each path, and traffic is transmitted
   simultaneously over both LSPs.  In this scheme, both endpoints must
   receive traffic over the same LSP.  Note also that both LSPs are
   fully instantiated (and thus activated) so that no resource sharing
   can be done along the protection path (nor can any extra-traffic be
   transported).




Lang, et al.                Standards Track                    [Page 10]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   When a failure is detected by one or both endpoints of the LSP, both
   endpoints must select traffic from the other LSP.  This action must
   be coordinated between node A and D.  From this perspective, 1+1
   bidirectional protection can be seen as a coordinated protection-
   switching mechanism between both endpoints.

   Note: it is necessary that both paths are SRLG disjoint to ensure
   recoverability; otherwise, a single failure may impact both working
   and protecting LSPs.

6.1.  Identifiers

   To simplify association operations, both LSPs belong to the same
   session.  Thus, the SESSION object MUST be the same for both LSPs.
   The LSP ID, however, MUST be different to distinguish between the two
   LSPs.

   A new PROTECTION object (see Section 14) is included in the Path
   message.  This object carries the desired end-to-end LSP Protection
   Type -- in this case, "1+1 Bidirectional".  This LSP Protection Type
   value is only applicable to bidirectional LSPs.

   It is also desirable to allow distinguishing the working LSP (from
   which the signal is taken) from the protecting LSP.  This is achieved
   for the working LSP by setting in the PROTECTION object the S bit to
   0, the P bit to 0, and in the ASSOCIATION object, the Association ID
   to the protecting LSP_ID.  The protecting LSP is signaled by setting
   in the PROTECTION object the S bit to 0, the P bit to 1, and in the
   ASSOCIATION object the Association ID to the associated protected
   LSP_ID.

6.2.  End-to-End Switchover Request/Response

   To coordinate the switchover between endpoints, an end-to-end
   switchover request/response exchange is needed since a failure
   affecting one of the LSPs results in both endpoints switching to the
   other LSP (resulting in receiving traffic from the other LSP) in
   their respective directions.

   The procedure is as follows:

      1. If an end-node (A or D) detects the failure of the working LSP
         (or a degradation of signal quality over the working LSP) or
         receives a Notify message including its SESSION object within
         the <upstream/downstream session list> (see [RFC3473]), and the
         new error code/sub-code "Notify Error/ LSP Locally Failed" in
         the (IF_ID)_ERROR_SPEC object, it MUST begin receiving on the
         protecting LSP.  Note that the <sender descriptor> or <flow



Lang, et al.                Standards Track                    [Page 11]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


         descriptor> is also present in the Notify message that resolves
         any ambiguity and race condition since identifying (together
         with the SESSION object) the LSP under failure condition.

            Note: (IF_ID)_ERROR_SPEC indicates that either the
            ERROR_SPEC (C-Type 1/2) or the ERROR_SPEC (C-Type 3/4,
            defined in [RFC3473]) can be used.

         This node MUST reliably send a Notify message, including the
         MESSAGE_ID object, to the other end-node (D or A, respectively)
         with the new error code/sub-code "Notify Error/LSP Failure"
         (Switchover Request) indicating the failure of the working LSP.
         This Notify message MUST be sent with the ACK_Desired flag set
         in the MESSAGE_ID object to request the receiver to send an
         acknowledgment for the message (see [RFC2961]).

         This (switchover request) Notify message MAY indicate the
         identity of the failed link or any other relevant information
         using the IF_ID ERROR_SPEC object (see [RFC3473]).  In this
         case, the IF_ID ERROR_SPEC object replaces the ERROR_SPEC
         object in the Notify message; otherwise, the corresponding
         (data plane) information SHOULD be received in the
         PathErr/ResvErr message.

      2. Upon receipt of the (switchover request) Notify message, the
         end-node (D or A, respectively) MUST begin receiving from the
         protecting LSP.

         This node MUST reliably send a Notify message, including the
         MESSAGE_ID object, to the other end-node (A or D,
         respectively).  This (switchover response) Notify message MUST
         also include a MESSAGE_ID_ACK object to acknowledge reception
         of the (switchover request) Notify message.

         This (switchover response) Notify message MAY indicate the
         identity of the failed link or any other relevant information
         using the IF_ID ERROR_SPEC object (see [RFC3473]).

         Note: upon receipt of the (switchover response) Notify message,
         the end-node (A or D, respectively) MUST send an Ack message to
         the other end-node to acknowledge its reception.

   Since the intermediate nodes (B, C, E, F, and G) are assumed to be
   GMPLS RSVP-TE signaling capable, each node adjacent to the failure
   MAY generate a Notify message directed either to the LSP head-end
   (upstream direction), or the LSP tail-end (downstream direction), or
   even both.  Therefore, it is expected that these LSP terminating
   nodes (that MAY also detect the failure of the LSP from the data



Lang, et al.                Standards Track                    [Page 12]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   plane) provide either the right correlation mechanism to avoid
   repetition of the above procedure or just discard subsequent Notify
   messages corresponding to the same Session.  In addition, for the LSP
   under failure condition, it is RECOMMENDED to not set the Path_State_
   Removed Flag of the ERROR_SPEC object (see [RFC3473]) upon PathErr
   message generation.

   After protection switching completes (step 2), and after reception of
   the PathErr message, to keep track of the LSP from which the signal
   is taken, the protecting LSP SHOULD be signaled with the O bit set.
   The formerly working LSP MAY be signaled with the A bit set in the
   ADMIN_STATUS object (see [RFC3473]).

   Note: when the N bit is set, the end-to-end switchover request/
   response exchange described above only provides control plane
   coordination (no actions are triggered at the data plane level).

7.  1:1 Protection with Extra-Traffic

   The most common case of end-to-end 1:N protection is to establish,
   between the same endpoints, an end-to-end working LSP (thus, N = 1)
   and a dedicated end-to-end protecting LSP that are mutually link/
   node/SRLG disjoint.  This protects against working LSP failure(s).

   The protecting LSP is used for switchover when the working LSP fails.
   GMPLS RSVP-TE signaling allows for the pre-provisioning of protecting
   LSPs by indicating in the Path message (in the PROTECTION object; see
   Section 14) that the LSPs are of type protecting.  Here, working and
   protecting LSPs are signaled as primary LSPs; both are fully
   instantiated during the provisioning phase.

   Although the resources for the protecting LSP are pre-allocated,
   preemptable traffic may be carried end-to-end using this LSP.  Thus,
   the protecting LSP is capable of carrying extra-traffic with the
   caveat that this traffic will be preempted if the working LSP fails.

   The setup of the working LSP SHOULD indicate that the LSP head-end
   and tail-end node wish to receive Notify messages using the NOTIFY
   REQUEST object.  The node upstream to the failure (upstream in terms
   of the direction an Path message traverses) SHOULD send a Notify
   message to the LSP head-end node, and the node downstream to the
   failure SHOULD send an Notify message to the LSP tail-end node.  Upon
   receipt of the Notify messages, both the end-nodes MUST switch the
   (normal) traffic from the working LSP to the pre-configured
   protecting LSP (see Section 7.2).  Moreover, some coordination is
   required if extra-traffic is carried over the end-to-end protecting





Lang, et al.                Standards Track                    [Page 13]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   LSP.  Note that if the working and the protecting LSP are established
   between the same end-nodes, no further notification is required to
   indicate that the working LSPs are no longer protected.

   Consider the following topology:

                                  A---B---C---D
                                   \         /
                                    E---F---G

   The working LSP [A,B,C,D] could be protected by the protecting LSP
   [A,E,F,G,D].  Both LSPs are fully instantiated (resources are
   allocated for both working and protecting LSPs) and no resource
   sharing can be done along the protection path since the primary
   protecting LSP can carry extra-traffic.

   Note: it is necessary that both paths are SRLG disjoint to ensure
   recoverability; otherwise, a single failure may impact both working
   and protecting LSPs.

7.1.  Identifiers

   To simplify association operations, both LSPs belong to the same
   session.  Thus, the SESSION object MUST be the same for both LSPs.
   The LSP ID, however, MUST be different to distinguish between the
   protected LSP carrying working traffic and the protecting LSP that
   can carry extra-traffic.

   A new PROTECTION object (see Section 14) is included in the Path
   message used to set up the two LSPs.  This object carries the desired
   end-to-end LSP Protection Type -- in this case, "1:N Protection with
   Extra-Traffic".  This LSP Protection Type value is applicable to both
   uni- and bidirectional LSPs.

   The working LSP is signaled by setting in the new PROTECTION object
   the S bit to 0, the P bit to 0, and in the ASSOCIATION object, the
   Association ID to the protecting LSP_ID.

   The protecting LSP is signaled by setting in the new PROTECTION
   object the S bit to 0, the P bit to 1, and in the ASSOCIATION object,
   the Association ID to the associated protected LSP_ID.










Lang, et al.                Standards Track                    [Page 14]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


7.2.  End-to-End Switchover Request/Response

   To coordinate the switchover between endpoints, an end-to-end
   switchover request/response is needed such that the affected LSP is
   moved to the protecting LSP.  Protection switching from the working
   to the protecting LSP (implying preemption of extra-traffic carried
   over the protecting LSP) must be initiated by one of the end-nodes (A
   or D).

   The procedure is as follows:

      1. If an end-node (A or D) detects the failure of the working LSP
         (or a degradation of signal quality over the working LSP) or
         receives a Notify message including its SESSION object within
         the <upstream/downstream session list> (see [RFC3473]), and the
         new error code/sub-code "Notify Error/LSP Locally Failed" in
         the (IF_ID)_ERROR_SPEC object, it disconnects the extra-traffic
         from the protecting LSP.  Note that the <sender descriptor> or
         <flow descriptor> is also present in the Notify message that
         resolves any ambiguity and race condition since identifying
         (together with the SESSION object) the LSP under failure
         condition.

         This node MUST reliably send a Notify message, including the
         MESSAGE_ID object, to the other end-node (D or A, respectively)
         with the new error code/sub-code "Notify Error/LSP Failure"
         (Switchover Request) indicating the failure of the working LSP.
         This Notify message MUST be sent with the ACK_Desired flag set
         in the MESSAGE_ID object to request the receiver to send an
         acknowledgment for the message (see [RFC2961]).

         This (switchover request) Notify message MAY indicate the
         identity of the failed link or any other relevant information
         using the IF_ID ERROR_SPEC object (see [RFC3473]).  In this
         case, the IF_ID ERROR_SPEC object replaces the ERROR_SPEC
         object in the Notify message; otherwise, the corresponding
         (data plane) information SHOULD be received in the
         PathErr/ResvErr message.

      2. Upon receipt of the (switchover request) Notify message, the
         end-node (D or A, respectively) MUST disconnect the extra-
         traffic from the protecting LSP and begin sending/receiving
         normal traffic out/from the protecting LSP.

         This node MUST reliably send a Notify message, including the
         MESSAGE_ID object, to the other end-node (A or D,
         respectively).  This (switchover response) Notify message MUST




Lang, et al.                Standards Track                    [Page 15]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


         also include a MESSAGE_ID_ACK object to acknowledge reception
         of the (switchover request) Notify message.

         This (switchover response) Notify message MAY indicate the
         identity of the failed link or any other relevant information
         using the IF_ID ERROR_SPEC object (see [RFC3473]).

         Note: since the Notify message generated by the other end-node
         (A or D, respectively) is distinguishable from the one
         generated by an intermediate node, there is no possibility of
         connecting the extra-traffic to the working LSP due to the
         receipt of a Notify message from an intermediate node.

      3. Upon receipt of the (switchover response) Notify message, the
         end-node (A or D, respectively) MUST begin receiving normal
         traffic from or sending normal traffic out the protecting LSP.

         This node MUST also send an Ack message to the other end-node
         (D or A, respectively) to acknowledge the reception of the
         (switchover response) Notify message.

   Note 1: a 2-phase protection-switching signaling is used in the
   present context; a 3-phase signaling (see [RFC4426]) that would imply
   a notification message, a switchover request, and a switchover
   response messages is not considered here.  Also, when the protecting
   LSPs do not carry extra-traffic, protection-switching signaling (as
   defined in Section 6.2) MAY be used instead of the procedure
   described in this section.

   Note 2: when the N bit is set, the above end-to-end switchover
   request/response exchange only provides control plane coordination
   (no actions are triggered at the data plane level).

   After protection switching completes (step 3), and after reception of
   the PathErr message, to keep track of the LSP from which the normal
   traffic is taken, the protecting LSP SHOULD be signaled with the O
   bit set.  In addition, the formerly working LSP MAY be signaled with
   the A bit set in the ADMIN_STATUS object (see [RFC3473]).

7.3.  1:N (N > 1) Protection with Extra-Traffic

   1:N (N > 1) protection with extra-traffic assumes that the fully
   provisioned protecting LSP is resource-disjoint from the N working
   LSPs.  This protecting LSP thereby allows for carrying extra-traffic.
   Note that the N working LSPs and the protecting LSP are all between
   the same pair of endpoints.  In addition, the N working LSPs
   (considered as identical in terms of traffic parameters) MAY be




Lang, et al.                Standards Track                    [Page 16]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   mutually resource-disjoint.  Coordination between end-nodes is
   required when switching from one of the working to the protecting
   LSP.

   Each working LSP is signaled with both S bit and P bit set to 0.  The
   LSP Protection Type is set to 0x04 (1:N Protection with Extra-
   Traffic) during LSP setup.  Each Association ID points to the
   protecting LSP ID.

   The protecting LSP (carrying extra-traffic) is signaled with the S
   bit set to 0 and the P bit set to 1.  The LSP Protection Type is set
   to 0x04 (1:N Protection with Extra-Traffic) during LSP setup.  The
   Association ID MUST be set by default to the LSP ID of the protected
   LSP corresponding to N = 1.

   Any signaling procedure applicable to 1:1 protection with extra-
   traffic equally applies to 1:N protection with extra-traffic.

8.  Rerouting without Extra-Traffic

   End-to-end (pre-planned) rerouting without extra-traffic relies on
   the establishment between the same pair of end-nodes of a working LSP
   and a protecting LSP that is link/node/SRLG disjoint from the working
   LSP.  However, in this case the protecting LSP is not fully
   instantiated; thus, it cannot carry any extra-traffic (note that this
   does not mean that the corresponding resources cannot be used by
   other LSPs).  Therefore, this mechanism protects against working LSP
   failure(s) but requires activation of the protecting LSP after
   failure occurrence.

   Signaling is performed by indicating in the Path message (in the
   PROTECTION object; see Section 14) that the LSPs are of type working
   and protecting, respectively.  Protecting LSPs are used for fast
   switchover when working LSPs fail.  In this case, working and
   protecting LSPs are signaled as primary LSP and secondary LSP,
   respectively.  Thus, only the working LSP is fully instantiated
   during the provisioning phase, and for the protecting LSPs, no
   resources are committed at the data plane level (they are pre-
   reserved at the control plane level only).  The setup of the working
   LSP SHOULD indicate (using the NOTIFY REQUEST object as specified in
   Section 4 of [RFC3473]) that the LSP head-end node (and possibly the
   tail-end node) wish to receive a Notify message upon LSP failure
   occurrence.  Upon receipt of the Notify message, the head-end node
   MUST switch the (normal) traffic from the working LSP to the
   protecting LSP after its activation.  Note that since the working and
   the protecting LSPs are established between the same end-nodes, no
   further notification is required to indicate that the working LSPs
   are without protection.



Lang, et al.                Standards Track                    [Page 17]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   To make bandwidth pre-reserved for a protecting (but not activated)
   LSP available for extra-traffic, this bandwidth could be included in
   the advertised Unreserved Bandwidth at priority lower (means
   numerically higher) than the Holding Priority of the protecting LSP.
   In addition, the Max LSP Bandwidth field in the Interface Switching
   Capability Descriptor sub-TLV should reflect the fact that the
   bandwidth pre-reserved for the protecting LSP is available for extra
   traffic.  LSPs for extra-traffic then can be established using the
   bandwidth pre-reserved for the protecting LSP by setting (in the Path
   message) the Setup Priority field of the SESSION_ATTRIBUTE object to
   X (where X is the Setup Priority of the protecting LSP), and the
   Holding Priority field to at least X+1.  Also, if the resources pre-
   reserved for the protecting LSP are used by lower-priority LSPs,
   these LSPs MUST be preempted when the protecting LSP is activated
   (see Section 10).

   Consider the following topology:

                                  A---B---C---D
                                   \         /
                                    E---F---G

   The working LSP [A,B,C,D] could be protected by the protecting LSP
   [A,E,F,G,D].  Only the protected LSP is fully instantiated (resources
   are only allocated for the working LSP).  Therefore, the protecting
   LSP cannot carry any extra-traffic.  When a failure is detected on
   the working LSP (say, at B), the error is propagated and/or notified
   (using a Notify message with the new error code/sub-code "Notify
   Error/LSP Locally Failed" in the (IF_ID)_ERROR_SPEC object) to the
   ingress node (A).  Upon reception, the latter activates the secondary
   protecting LSP instantiated during the (pre-)provisioning phase.
   This requires:

   (1)  the ability to identify a "secondary protecting LSP" (hereby
        called the "secondary LSP") used to recover another primary
        working LSP (hereby called the "protected LSP")
   (2)  the ability to associate the secondary LSP with the protected
        LSP
   (3)  the capability to activate a secondary LSP after failure
        occurrence.

   In the following subsections, these features are described in more
   detail.








Lang, et al.                Standards Track                    [Page 18]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


8.1.  Identifiers

   To simplify association operations, both LSPs (i.e., the protected
   and the secondary LSPs) belong to the same session.  Thus, the
   SESSION object MUST be the same for both LSPs.  The LSP ID, however,
   MUST be different to distinguish between the protected LSP carrying
   working traffic and the secondary LSP that cannot carry extra-
   traffic.

   A new PROTECTION object (see Section 14) is used to set up the two
   LSPs.  This object carries the desired end-to-end LSP Protection Type
   (in this case, "Rerouting without Extra-Traffic").  This LSP
   Protection Type value is applicable to both uni- and bidirectional
   LSPs.

8.2.  Signaling Primary LSPs

   The new PROTECTION object is included in the Path message during
   signaling of the primary working LSP, with the end-to-end LSP
   Protection Type value set to "Rerouting without Extra-Traffic".

   Primary working LSPs are signaled by setting in the new PROTECTION
   object the S bit to 0, the P bit to 0, and in the ASSOCIATION object,
   the Association ID to the associated secondary protecting LSP_ID.

8.3.  Signaling Secondary LSPs

   The new PROTECTION object is included in the Path message during
   signaling of secondary protecting LSPs, with the end-to-end LSP
   Protection Type value set to "Rerouting without Extra-Traffic".

   Secondary protecting LSPs are signaled by setting in the new
   PROTECTION object the S bit and the P bit to 1, and in the
   ASSOCIATION object, the Association ID to the associated primary
   working LSP_ID, which MUST be known before signaling of the secondary
   LSP.

   With this setting, the resources for the secondary LSP SHOULD be
   pre-reserved, but not committed at the data plane level, meaning that
   the internals of the switch need not be established until explicit
   action is taken to activate this secondary LSP.  Activation of a
   secondary LSP is done using a modified Path message with the S bit
   set to 0 in the PROTECTION object.  At this point, the link and node
   resources must be allocated for this LSP that becomes a primary LSP
   (ready to carry normal traffic).






Lang, et al.                Standards Track                    [Page 19]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   From [RFC3945], the secondary LSP is set up with resource pre-
   reservation but with or without label pre-selection (both allowing
   sharing of the recovery resources).  In the former case (defined as
   the default), label allocation during secondary LSP signaling does
   not require any specific procedure compared to [RFC3473].  However,
   in the latter case, label (and thus resource) re-allocation MAY occur
   during the secondary LSP activation.  This means that during the LSP
   activation phase, labels MAY be reassigned (with higher precedence
   over existing label assignment; see also [RFC3471]).

   Note: under certain circumstances (e.g., when pre-reserved protecting
   resources are used by lower-priority LSPs), it MAY be desirable to
   perform the activation of the secondary LSP in the upstream direction
   (Resv trigger message) instead of using the default downstream
   activation.  In this case, any mis-ordering and any mis-
   interpretation between a refresh Resv (along the lower-priority LSP)
   and a trigger Resv message (along the secondary LSP) MUST be avoided
   at any intermediate node.  For this purpose, upon reception of the
   Path message, the egress node MAY include the PROTECTION object in
   the Resv message.  The latter is then processed on a hop-by-hop basis
   to activate the secondary LSP until reaching the ingress node.  The
   PROTECTION object included in the Path message MUST be set as
   specified in this section.  In this case, the PROTECTION object with
   the S bit MUST be set to 0 and included in the Resv message sent in
   the upstream direction.  The upstream activation behavior SHOULD be
   configurable on a local basis.  Details concerning lower-priority LSP
   preemption upon secondary LSP activation are provided in Section 10.

9. Shared-Mesh Restoration

   An approach to reduce recovery resource requirements is to have
   protection LSPs sharing network resources when the working LSPs that
   they protect are physically (i.e., link, node, SRLG, etc.) disjoint.
   This mechanism is referred to as shared mesh restoration and is
   described in [RFC4426].  Shared-mesh restoration can be seen as a
   particular case of pre-planned LSP rerouting (see Section 8) that
   reduces the recovery resource requirements by allowing multiple
   protecting LSPs to share common link and node resources.  Here also,
   the recovery resources for the protecting LSPs are pre-reserved
   during the provisioning phase, thus an explicit signaling action is
   required to activate (i.e., commit resource allocation at the data
   plane) a specific protecting LSP instantiated during the (pre-)
   provisioning phase.  This requires restoration signaling along the
   protecting LSP.

   To make bandwidth pre-reserved for a protecting (but not activated)
   LSP, available for extra-traffic this bandwidth could be included in
   the advertised Unreserved Bandwidth at priority lower (means



Lang, et al.                Standards Track                    [Page 20]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   numerically higher) than the Holding Priority of the protecting LSP.
   In addition, the Max LSP Bandwidth field in the Interface Switching
   Capability Descriptor sub-TLV should reflect the fact that the
   bandwidth pre-reserved for the protecting LSP is available for extra
   traffic.  LSPs for extra-traffic then can be established using the
   bandwidth pre-reserved for the protecting LSP by setting (in the Path
   message) the Setup Priority field of the SESSION_ATTRIBUTE object to
   X (where X is the Setup Priority of the protecting LSP) and the
   Holding Priority field to at least X+1.  Also, if the resources pre-
   reserved for the protecting LSP are used by lower priority LSPs,
   these LSPs MUST be preempted when the protecting LSP is activated
   (see Section 10).  Further, if the recovery resources are shared
   between multiple protecting LSPs, the corresponding working LSPs
   head-end nodes must be informed that they are no longer protected
   when the protecting LSP is activated to recover the normal traffic
   for the working LSP under failure.

   Consider the following topology:

                                  A---B---C---D
                                   \         /
                                    E---F---G
                                   /         \
                                  H---I---J---K

   The working LSPs [A,B,C,D] and [H,I,J,K] could be protected by
   [A,E,F,G,D] and [H,E,F,G,K], respectively.  Per [RFC3209], in order
   to achieve resource sharing during the signaling of these protecting
   LSPs, they must have the same Tunnel Endpoint Address (as part of
   their SESSION object).  However, these addresses are not the same in
   this example.  Resource sharing along E, F, and G can only be
   achieved if the nodes E, F, and G recognize that the LSP Protection
   Type of the secondary LSP is set to "Rerouting without Extra-Traffic"
   (see PROTECTION object, Section 14) and acts accordingly.  In this
   case, the protecting LSPs are not merged (which is useful since the
   paths diverge at G), but the resources along E, F, G can be shared.

   When a failure is detected on one of the working LSPs (say, at B),
   the error is propagated and/or notified (using a Notify message with
   the new error code/sub-code "Notify Error/LSP Locally Failed" in the
   (IF_ID)_ERROR_SPEC object) to the ingress node (A).  Upon reception,
   the latter activates the secondary protecting LSP (see Section 8).
   At this point, it is important that a failure on the other LSP (say,
   at J) does not cause the other ingress (H) to send the data down the
   protecting LSP since the resources are already in use.  This can be
   achieved by node E using the following procedure.  When the capacity
   is first reserved for the protecting LSP, E should verify that the
   LSPs being protected ([A,B,C,D] and [H,I,J,K], respectively) do not



Lang, et al.                Standards Track                    [Page 21]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   share any common resources.  Then, when a failure occurs (say, at B)
   and the protecting LSP [A,E,F,G,D] is activated, E should notify H
   that the resources for the protecting LSP [H,E,F,G,K] are no longer
   available.

   The following subsections detail how shared mesh restoration can be
   implemented in an interoperable fashion using GMPLS RSVP-TE
   extensions (see [RFC3473]).  This includes:

   (1)  the ability to identify a "secondary protecting LSP" (hereby
        called the "secondary LSP") used to recover another primary
        working LSP (hereby called the "protected LSP")
   (2)  the ability to associate the secondary LSP with the protected
        LSP
   (3)  the capability to include information about the resources used
        by the protected LSP while instantiating the secondary LSP.
   (4)  the capability to instantiate during the provisioning phase
        several secondary LSPs in an efficient manner.
   (5)  the capability to activate a secondary LSP after failure
        occurrence.

   In the following subsections, these features are described in detail.

9.1.  Identifiers

   To simplify association operations, both LSPs (i.e., the protected
   and the secondary LSPs) belong to the same session.  Thus, the
   SESSION object MUST be the same for both LSPs.  The LSP ID, however,
   MUST be different to distinguish between the protected LSP carrying
   working traffic and the secondary LSP that cannot carry extra-
   traffic.

   A new PROTECTION object (see Section 14) is used to set up the two
   LSPs.  This object carries the desired end-to-end LSP Protection Type
   -- in this case, "Rerouting without Extra-Traffic".  This LSP
   Protection Type value is applicable to both uni- and bidirectional
   LSPs.

9.2.  Signaling Primary LSPs

   The new PROTECTION object is included in the Path message during
   signaling of the primary working LSPs, with the end-to-end LSP
   Protection Type value set to "Rerouting without Extra-Traffic".

   Primary working LSPs are signaled by setting in the new PROTECTION
   object the S bit to 0, the P bit to 0, and in the ASSOCIATION object,
   the Association ID to the associated secondary protecting LSP_ID.




Lang, et al.                Standards Track                    [Page 22]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


9.3.  Signaling Secondary LSPs

   The new PROTECTION object is included in the Path message during
   signaling of the secondary protecting LSPs, with the end-to-end LSP
   Protection Type value set to "Rerouting without Extra-Traffic".

   Secondary protecting LSPs are signaled by setting in the new
   PROTECTION object the S bit and the P bit to 1, and in the
   ASSOCIATION object, the Association ID to the associated primary
   working LSP_ID, which MUST be known before signaling of the secondary
   LSP.  Moreover, the Path message used to instantiate the secondary
   LSP SHOULD include at least one PRIMARY_PATH_ROUTE object (see
   Section 15) that further allows for recovery resource sharing at each
   intermediate node along the secondary path.

   With this setting, the resources for the secondary LSP SHOULD be
   pre-reserved, but not committed at the data plane level, meaning that
   the internals of the switch need not be established until explicit
   action is taken to activate this LSP.  Activation of a secondary LSP
   is done using a modified Path message with the S bit set to 0 in the
   PROTECTION object.  At this point, the link and node resources must
   be allocated for this LSP that becomes a primary LSP (ready to carry
   normal traffic).

   From [RFC3945], the secondary LSP is set up with resource pre-
   reservation but with or without label pre-selection (both allowing
   sharing of the recovery resources).  In the former case (defined as
   the default), label allocation during secondary LSP signaling does
   not require any specific procedure compared to [RFC3473].  However,
   in the latter case, label (and thus resource) re-allocation MAY occur
   during the secondary LSP activation.  This means that, during the LSP
   activation phase, labels MAY be reassigned (with higher precedence
   over existing label assignment; see also [RFC3471]).

10.  LSP Preemption

   When protecting resources are only pre-reserved for the secondary
   LSPs, they MAY be used to set up lower-priority LSPs.  In this case,
   these resources MUST be preempted when the protecting LSP is
   activated.  An additional condition raises from misconnection
   avoidance between the secondary protecting LSP being activated and
   the low-priority LSP(s) being preempted.  Procedure to be applied
   when the secondary protecting LSP (i.e., the preempting LSP) Path
   message reaches a node using the resources for lower-priority LSP(s)
   (i.e., preempted LSP(s)) is as follows:






Lang, et al.                Standards Track                    [Page 23]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   1. De-allocate resources to be used by the preempting LSP and release
      the cross-connection.  Note that if the preempting LSP is
      bidirectional, these resources may come from one or two lower-
      priority LSPs, and if from two LSPs, they may be uni- or bi-
      directional.  The preempting node SHOULD NOT send the Path message
      before the de-allocation of resources has completed since this may
      lead to the downstream path becoming misconnected if the
      downstream node is able to reassign the resources more quickly.

   2. Send PathTear and PathErr messages with the new error code/sub-
      code "Policy Control failure/Hard preempted" and the
      Path_State_Removed flag set for the preempted LSP(s).

   3. Reserve the preempted resources for the protecting LSP.  The
      preempting node MUST NOT cross-connect the upstream resources of a
      bidirectional preempting LSP.

   4. Send the Path message.

   5. Upon reception of a trigger Resv message from the downstream node,
      cross-connect the downstream path resources, and if the preempting
      LSP is bidirectional, perform cross-connection for the upstream
      path resources.

   Note that step 1 may cause alarms to be raised for the preempted LSP.
   If alarm suppression is desired, the preempting node MAY insert the
   following steps before step 1.

   1a. Before de-allocating resources, send a Resv message, including an
       ADMIN_STATUS object, to disable alarms for the preempted LSP.
   1b. Receive a Path message indicating that alarms are disabled.

   At the downstream node (with respect to the preempting LSP), the
   processing is RECOMMENDED to be as follows:

   1.  Receive PathTear (and/or PathErr) message for the preempted
       LSP(s).

   2a. Release the resources associated with the LSP on the interface to
       the preempting LSP, remove any cross-connection, and release all
       other resources associated with the preempted LSP.
   2b. Forward the PathTear (and/or PathErr) message per [RFC3473].

   3.  Receive the Path message for the preempting LSP and process as
       normal, forwarding it to the downstream node.

   4.  Receive the Resv message for the preempting LSP and process as
       normal, forwarding it to the upstream node.



Lang, et al.                Standards Track                    [Page 24]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


11.  (Full) LSP Rerouting

   LSP rerouting, on the other hand, switches normal traffic to an
   alternate LSP that is fully established only after failure
   occurrence.  The new (alternate) route is selected at the LSP head-
   end and may reuse intermediate nodes included in the original route;
   it may also include additional intermediate nodes.  For strict-hop
   routing, TE requirements can be directly applied to the route
   computation, and the failed node or link can be avoided.  However, if
   the failure occurred within a loose-routed hop, the head-end node may
   not have enough information to reroute the LSP around the failure.
   Crankback signaling (see [CRANK]) and route exclusion techniques (see
   [RFC4874]) MAY be used in this case.

   The alternate route MAY be either computed on demand (that is, when
   the failure occurs; this is referred to as full LSP rerouting) or
   pre-computed and stored for use when the failure is reported.  The
   latter offers faster restoration time.  There is, however, a risk
   that the alternate route will become out of date through other
   changes in the network; this can be mitigated to some extent by
   periodic recalculation of idle alternate routes.

   (Full) LSP rerouting will be initiated by the head-end node that has
   either detected the LSP failure or received a Notify message and/or a
   PathErr message with the new error code/sub-code "Notify Error/LSP
   Locally Failed" for this LSP.  The new LSP resources can be
   established using the make-before-break mechanism, where the new LSP
   is set up before the old LSP is torn down.  This is done by using the
   mechanisms of the SESSION_ATTRIBUTE object and the Shared-Explicit
   (SE) reservation style (see [RFC3209]).  Both the new and old LSPs
   can share resources at common nodes.

   Note that the make-before-break mechanism is not used to avoid
   disruption to the normal traffic flow (the latter has already been
   broken by the failure that is being repaired).  However, it is
   valuable to retain the resources allocated on the original LSP that
   will be reused by the new alternate LSP.

11.1.  Identifiers

   The Tunnel Endpoint Address, Tunnel ID, Extended Tunnel ID, and
   Tunnel Sender Address uniquely identify both the old and new LSPs.
   Only the LSP_ID value differentiates the old from the new alternate
   LSP.  The new alternate LSP is set up before the old LSP is torn down
   using Shared-Explicit (SE) reservation style.  This ensures that the
   new (alternate) LSP is established without double-counting resource
   requirements along common segments.




Lang, et al.                Standards Track                    [Page 25]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   The alternate LSP MAY be set up before any failure occurrence with
   SE-style resource reservation, the latter shares the same Tunnel End
   Point Address, Tunnel ID, Extended Tunnel ID, and Tunnel Sender
   Address with the original LSP (i.e., only the LSP ID value MUST be
   different).

   In both cases, the Association ID of the ASSOCIATION object MUST be
   set to the LSP ID value of the signaled LSP.

11.2.  Signaling Reroutable LSPs

   A new PROTECTION object is included in the Path message during
   signaling of dynamically reroutable LSPs, with the end-to-end LSP
   Protection Type value set to "Full Rerouting".  These LSPs that can
   be either uni- or bidirectional are signaled by setting in the
   PROTECTION object the S bit to 0, the P bit to 0, and the Association
   ID value to the LSP_ID value of the signaled LSP.  Any specific
   action to be taken during the provisioning phase is up to the end-
   node local policy.

   Note: when the end-to-end LSP Protection Type is set to
   "Unprotected", both S and P bit MUST be set to 0, and the LSP SHOULD
   NOT be rerouted at the head-end node after failure occurrence.  The
   Association_ID value MUST be set to the LSP_ID value of the signaled
   LSP.  This does not mean that the Unprotected LSP cannot be re-
   established for other reasons such as path re-optimization and
   bandwidth adjustment driven by policy conditions.

12.  Reversion

   Reversion refers to a recovery switching operation, where the normal
   traffic returns to (or remains on) the working LSP when it has
   recovered from the failure.  Reversion implies that resources remain
   allocated to the LSP that was originally routed over them even after
   a failure.  It is important to have mechanisms that allow reversion
   to be performed with minimal service disruption and reconfiguration.

   For "1+1 bidirectional Protection", reversion to the recovered LSP
   occurs by using the following sequence:

   1. Clear the A bit of the ADMIN_STATUS object if set for the
      recovered LSP.

   2. Then, apply the method described below to switch normal traffic
      back from the protecting to the recovered LSP.  This is performed
      by using the new error code/sub-code "Notify Error/LSP Recovered"
      (Switchback Request).




Lang, et al.                Standards Track                    [Page 26]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


      The procedure is as follows:

      1) The initiating (source) node sends the normal traffic onto both
         the working and the protecting LSPs.  Once completed, the
         source node sends reliably a Notify message to the destination
         with the new error code/sub-code "Notify Error/LSP Recovered"
         (Switchback Request).  This Notify message includes the
         MESSAGE_ID object.  The ACK_Desired flag MUST be set in this
         object to request the receiver to send an acknowledgment for
         the message (see [RFC2961]).

      2) Upon receipt of this message, the destination selects the
         traffic from the working LSP.  At the same time, it transmits
         the traffic onto both the working and protecting LSP.

         The destination then sends reliably a Notify message to the
         source confirming the completion of the operation.  This
         message includes the MESSAGE_ID_ACK object to acknowledge
         reception of the received Notify message.  This Notify message
         also includes the MESSAGE_ID object.  The ACK_Desired flag MUST
         be set in this object to request the receiver to send an
         acknowledgment for the message (see [RFC2961]).

      3) When the source node receives this Notify message, it switches
         to receive traffic from the working LSP.

         The source node then sends an Ack message to the destination
         node confirming that the LSP has been reverted.

   3. Finally, clear the O bit of the PROTECTION object sent over the
      protecting LSP.

   For "1:N Protection with Extra-traffic", reversion to the recovered
   LSP occurs by using the following sequence:

   1. Clear the A bit of the ADMIN_STATUS object if set for the
      recovered LSP.

   2. Then, apply the method described below to switch normal traffic
      back from the protecting to the recovered LSP.  This is performed
      by using the new error code/sub-code "Notify Error/LSP Recovered"
      (Switchback Request).

      The procedure is as follows:

      1) The initiating (source) node sends the normal traffic onto both
         the working and the protecting LSPs.  Once completed, the
         source node sends reliably a Notify message to the destination



Lang, et al.                Standards Track                    [Page 27]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


         with the new error code/sub-code "Notify Error/LSP Recovered"
         (Switchback Request).  This Notify message includes the
         MESSAGE_ID object.  The ACK_Desired flag MUST be set in this
         object to request the receiver to send an acknowledgment for
         the message (see [RFC2961]).

      2) Upon receipt of this message, the destination selects the
         traffic from the working LSP.  At the same time, it transmits
         the traffic onto both the working and protecting LSP.

         The destination then sends reliably a Notify message to the
         source confirming the completion of the operation.  This
         message includes the MESSAGE_ID_ACK object to acknowledge
         reception of the received Notify message.  This Notify message
         also includes the MESSAGE_ID object.  The ACK_Desired flag MUST
         be set in this object to request the receiver to send an
         acknowledgment for the message (see [RFC2961]).

      3) When the source node receives this Notify message, it switches
         to receive traffic from the working LSP, and stops transmitting
         traffic on the protecting LSP.

         The source node then sends an Ack message to the destination
         node confirming that the LSP has been reverted.

      4) Upon receipt of this message, the destination node stops
         transmitting traffic along the protecting LSP.

   3. Finally, clear the O bit of the PROTECTION object sent over the
      protecting LSP.

   For "Rerouting without Extra-traffic" (including the shared recovery
   case), reversion implies that the formerly working LSP has not been
   torn down by the head-end node upon PathErr message reception, i.e.,
   the head-end node kept refreshing the working LSP under failure
   condition.  This ensures that the exact same resources are retrieved
   after reversion switching (except if the working LSP required re-
   signaling).  Re-activation is performed using the following sequence:

   1. Clear the A bit of the ADMIN_STATUS object if set for the
      recovered LSP.

   2. Then, apply the method described below to switch normal traffic
      back from the protecting to the recovered LSP.  This is performed
      by using the new error code/sub-code "Notify Error/LSP Recovered"
      (Switchback Request).





Lang, et al.                Standards Track                    [Page 28]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


      The procedure is as follows:

      1) The initiating (source) node sends the normal traffic onto both
         the working and the protecting LSPs.  Once completed, the
         source node sends reliably a Notify message to the destination
         with the new error code/sub-code "Notify Error/LSP Recovered"
         (Switchback Request).  This Notify message includes the
         MESSAGE_ID object.  The ACK_Desired flag MUST be set in this
         object to request the receiver to send an acknowledgment for
         the message (see [RFC2961]).

      2) Upon receipt of this message, the destination selects the
         traffic from the working LSP.  At the same time, it transmits
         the traffic onto both the working and protecting LSP.

         The destination then sends reliably a Notify message to the
         source confirming the completion of the operation.  This
         message includes the MESSAGE_ID_ACK object to acknowledge
         reception of the received Notify message.  This Notify message
         also includes the MESSAGE_ID object.  The ACK_Desired flag MUST
         be set in this object to request the receiver to send an
         acknowledgment for the message (see [RFC2961]).

      3) When the source node receives this Notify message, it switches
         to receive traffic from the working LSP, and stops transmitting
         traffic on the protecting LSP.

         The source node then sends an Ack message to the destination
         node confirming that the LSP has been reverted.

      4) Upon receipt of this message, the destination node stops
         transmitting traffic along the protecting LSP.

   3. Finally, de-activate the protecting LSP by setting the S bit to 1
      in the PROTECTION object sent over the protecting LSP.

13.  Recovery Commands

   This section specifies the control plane behavior when using several
   commands (see [RFC4427]) that can be used to influence the recovery
   operations.

   A. Lockout of recovery LSP:

   The Lockout (L) bit of the ADMIN_STATUS object is used following the
   rules defined in Section 8 of [RFC3471] and Section 7 of [RFC3473].
   The L bit must be set together with the Reflect (R) bit in the
   ADMIN_STATUS object sent in the Path message.  Upon reception of the



Lang, et al.                Standards Track                    [Page 29]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   Resv message with the L bit set, this forces the recovery LSP to be
   temporarily unavailable to transport traffic (either normal or
   extra-traffic).  Unlock is performed by clearing the L bit, following
   the rules defined in Section 7 of [RFC3473].  This procedure is only
   applicable when the LSP Protection Type Flag is set to either 0x04
   (1:N Protection with Extra-Traffic), or 0x08 (1+1 Unidirectional
   Protection), or 0x10 (1+1 Bidirectional Protection).

   The updated format of the ADMIN_STATUS object to include the L bit is
   as follows:

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            Length             | Class-Num(196)|   C-Type (1)  |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |R|                        Reserved                 |L|I|C|T|A|D|
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Lockout (L): 1 bit

        When set, forces the recovery LSP to be temporarily unavailable
        to transport traffic (either normal or extra traffic).

   The R (Reflect), T (Testing), A (Administratively down), and D
   (Deletion in progress) bits are defined in [RFC3471].  The C (Call
   control) bit is defined in [GMPLS-CALL], and the I (Inhibit alarm
   communication) bit in [RFC4783].

   B. Lockout of normal traffic:

   The O bit of the PROTECTION object is set to 1 to force the recovery
   LSP to be temporarily unavailable to transport normal traffic.  This
   operation MUST NOT occur unless the working LSP is carrying the
   normal traffic.  Unlock is performed by clearing the O bit over the
   protecting LSP.  This procedure is only applicable when the LSP
   Protection Type Flag is set to either 0x04 (1:N Protection with
   Extra-Traffic), or 0x08 (1+1 Unidirectional Protection), or 0x10 (1+1
   Bidirectional Protection).

   C. Forced switch for normal traffic:

   Recovery signaling is initiated that switches normal traffic to the
   recovery LSP following the procedures defined in Section 6, 7, 8, and
   9.






Lang, et al.                Standards Track                    [Page 30]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   D. Requested switch for normal traffic:

   Recovery signaling is initiated that switches normal traffic to the
   recovery LSP following the procedures defined in Section 6, 7, 8, and
   9.  This happens unless a fault condition exists on other LSPs or
   spans (including the recovery LSP), or a switch command of equal or
   higher priority is in effect.

   E. Requested switch for recovery LSP:

   Recovery signaling is initiated that switches normal traffic to the
   working LSP following the procedure defined in Section 12.  This
   request is executed except if a fault condition exists on the working
   LSP or an equal or higher priority switch command is in effect.

14.  PROTECTION Object

   This section describes the extensions to the PROTECTION object to
   broaden its applicability to end-to-end LSP recovery.

14.1.  Format

   The format of the PROTECTION Object (Class-Num = 37, C-Type = 2) is
   as follows:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |            Length             | Class-Num(37) | C-Type (2)    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |S|P|N|O| Reserved  | LSP Flags |     Reserved      | Link Flags|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Reserved                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Secondary (S): 1 bit

         When set to 1, this bit indicates that the requested LSP is a
         secondary LSP.  When set to 0 (default), it indicates that the
         requested LSP is a primary LSP.

      Protecting (P): 1 bit

         When set to 1, this bit indicates that the requested LSP is a
         protecting LSP.  When set to 0 (default), it indicates that the
         requested LSP is a working LSP.  The combination, S set to 1
         with P set to 0 is not valid.




Lang, et al.                Standards Track                    [Page 31]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


      Notification (N): 1 bit

         When set to 1, this bit indicates that the control plane
         message exchange is only used for notification during
         protection switching.  When set to 0 (default), it indicates
         that the control plane message exchanges are used for
         protection-switching purposes.  The N bit is only applicable
         when the LSP Protection Type Flag is set to either 0x04 (1:N
         Protection with Extra-Traffic), or 0x08 (1+1 Unidirectional
         Protection), or 0x10 (1+1 Bidirectional Protection).  The N bit
         MUST be set to 0 in any other case.

      Operational (O): 1 bit

         When set to 1, this bit indicates that the protecting LSP is
         carrying the normal traffic after protection switching.  The O
         bit is only applicable when the P bit is set to 1, and the LSP
         Protection Type Flag is set to either 0x04 (1:N Protection with
         Extra-Traffic), or 0x08 (1+1 Unidirectional Protection) or 0x10
         (1+1 Bidirectional Protection).  The O bit MUST be set to 0 in
         any other case.

      Reserved: 5 bits

         This field is reserved.  It MUST be set to zero on transmission
         and MUST be ignored on receipt.  These bits SHOULD be passed
         through unmodified by transit nodes.

      LSP (Protection Type) Flags: 6 bits

         Indicates the desired end-to-end LSP recovery type.  A value of
         0 implies that the LSP is "Unprotected".  Only one value SHOULD
         be set at a time.  The following values are defined.  All other
         values are reserved.

                0x00    Unprotected
                0x01    (Full) Rerouting
                0x02    Rerouting without Extra-Traffic
                0x04    1:N Protection with Extra-Traffic
                0x08    1+1 Unidirectional Protection
                0x10    1+1 Bidirectional Protection

      Reserved: 10 bits

         This field is reserved.  It MUST be set to zero on transmission
         and MUST be ignored on receipt.  These bits SHOULD be passed
         through unmodified by transit nodes.




Lang, et al.                Standards Track                    [Page 32]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


      Link Flags: 6 bits

         Indicates the desired link protection type (see [RFC3471]).

      Reserved field: 32 bits

         Encoding of this field is detailed in [RFC4873].

14.2.  Processing

   Intermediate and egress nodes processing a Path message containing a
   PROTECTION object MUST verify that the requested LSP Protection Type
   can be satisfied by the incoming interface.  If it cannot, the node
   MUST generate a PathErr message, with the new error code/sub-code
   "Routing problem/Unsupported LSP Protection".

   Intermediate nodes processing a Path message containing a PROTECTION
   object with the LSP Protection Type 0x02 (Rerouting without Extra-
   Traffic) value set and a PRIMARY_PATH_ROUTE object (see Section 15)
   MUST verify that the requested LSP Protection Type can be supported
   by the outgoing interface.  If it cannot, the node MUST generate a
   PathErr message with the new error code/sub-code "Routing
   problem/Unsupported LSP Protection".

15.  PRIMARY_PATH_ROUTE Object

   The PRIMARY_PATH_ROUTE object (PPRO) is defined to inform nodes along
   the path of a secondary protecting LSP about which resources
   (link/nodes) are being used by the associated primary protected LSP
   (as specified by the Association ID field).  If the LSP Protection
   Type value is set to 0x02 (Rerouting without Extra-Traffic), this
   object SHOULD be present in the Path message for the pre-provisioning
   of the secondary protecting LSP to enable recovery resource sharing
   between one or more secondary protecting LSPs (see Section 9).  This
   document does not assume or preclude any other usage for this object.

   PRIMARY_PATH_ROUTE objects carry information extracted from the
   EXPLICIT ROUTE object and/or the RECORD ROUTE object of the primary
   working LSPs they protect.  Selection of the PPRO content is up to
   local policy of the head-end node that initiates the request.
   Therefore, the information included in these objects can be used as
   policy-based admission control to ensure that recovery resources are
   only shared between secondary protecting LSPs whose associated
   primary LSPs have link/node/SRLG disjoint paths.







Lang, et al.                Standards Track                    [Page 33]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


15.1.  Format

   The primary path route is specified via the PRIMARY_PATH_ROUTE object
   (PPRO).  The Primary Path Route Class Number (Class-Num) of form
   0bbbbbbb 38.

   Currently one C-Type (Class-Type) is defined, Type 1, Primary Path
   Route.  The PRIMARY_PATH_ROUTE object has the following format:

   Class-Num = 38 (of the form 0bbbbbbb), C-Type = 1

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     //                        (Subobjects)                         //
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The contents of a PRIMARY_PATH_ROUTE object are a series of
   variable-length data items called subobjects (see Section 15.3).

   To signal a secondary protecting LSP, the Path message MAY include
   one or multiple PRIMARY_PATH_ROUTE objects, where each object is
   meaningful.  The latter is useful when a given secondary protecting
   LSP must be link/node/SRLG disjoint from more than one primary LSP
   (i.e., is protecting more than one primary LSP).

15.2.  Subobjects

   The PRIMARY_PATH_ROUTE object is defined as a list of variable-length
   data items called subobjects.  These subobjects are derived from the
   subobjects of the EXPLICIT ROUTE and/or RECORD ROUTE object of the
   primary working LSP(s).

   Each subobject has its own length field.  The length contains the
   total length of the subobject in bytes, including the Type and Length
   fields.  The length MUST always be a multiple of 4, and at least 4.

   The following subobjects are currently defined for the
   PRIMARY_PATH_ROUTE object:

   - Sub-Type 1: IPv4 Address (see [RFC3209])
   - Sub-Type 2: IPv6 Address (see [RFC3209])
   - Sub-Type 3: Label (see [RFC3473])
   - Sub-Type 4: Unnumbered Interface (see [RFC3477])





Lang, et al.                Standards Track                    [Page 34]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   An empty PPRO with no subobjects is considered illegal.  If there is
   no first subobject, the corresponding Path message is also in error,
   and the receiving node SHOULD return a PathErr message with the new
   error code/sub-code "Routing Problem/Bad PRIMARY_PATH_ROUTE object".

   Note: an intermediate node processing a PPRO can derive SRLG
   identifiers from the local IGP-TE database using its Type 1, 2, or 4
   subobject values as pointers to the corresponding TE Links (assuming
   each of them has an associated SRLG TE attribute).

15.3.  Applicability

   The PRIMARY_PATH_ROUTE object MAY only be used when all GMPLS nodes
   along the path support the PRIMARY_PATH_ROUTE object and a secondary
   protecting LSP is being requested.  The PRIMARY_PATH_ROUTE object is
   assigned a class value of the form 0bbbbbbb.  Receiving GMPLS nodes
   along the path that do not support this object MUST return a PathErr
   message with the "Unknown Object Class" error code (see [RFC2205]).

   Also, the following restrictions MUST be applied with respect to the
   PPRO usage:

   - PPROs MAY only be included in Path messages when signaling
     secondary protecting LSPs (S bit = 1 and P bit = 1) and when the
     LSP Protection Type value is set to 0x02 (without Rerouting Extra-
     Traffic) in the PROTECTION object (see Section 14).

   - PRROs SHOULD be present in the Path message for the pre-
     provisioning of the secondary protecting LSP to enable recovery
     resource sharing between one or more secondary protecting LSPs (see
     Section 15.4).

   - PPROs MUST NOT be used in any other conditions.  In particular, if
     a PPRO is received when the S bit is set to 0 in the PROTECTION
     object, the receiving node MUST return a PathErr message with the
     new error code/sub-code "Routing Problem/PRIMARY_PATH_ROUTE object
     not applicable".

   - Crossed exchanges of PPROs over primary LSPs are forbidden (i.e.,
     their usage is restricted to a single set of protected LSPs).

   - The PPRO's content MUST NOT include subobjects coming from other
     PPROs.  In particular, received PPROs MUST NOT be reused to
     establish other working or protecting LSPs.







Lang, et al.                Standards Track                    [Page 35]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


15.4.  Processing

   The PPRO enables sharing recovery resources between a given secondary
   protecting LSP and one or more secondary protecting LSPs if their
   corresponding primary working LSPs have mutually (link/node/SRLG)
   disjoint paths.  Consider a node N through which n secondary
   protecting LSPs (say, P[1],...,P[n]) have already been established
   that protect n primary working LSPs (say, P'[1],...,P'[n]).  Suppose
   also that these n secondary working LSPs share a given outgoing link
   resource (say r).

   Now, suppose that node N receives a Path message for an additional
   secondary protecting LSP (say, Q, protecting Q').  The PPRO carried
   by this Path message is processed as follows:

   - N checks whether the primary working LSPs P'[1],...,P'[n]
     associated with the LSPs P[1],...,P[n], respectively, have any
     link, node, and SLRG in common with the primary working Q'
     (associated with Q) by comparing the stored PPRO subobjects
     associated with P'[1],...,P'[n] with the PPRO subobjects associated
     with Q' received in the Path message.

   - If this is the case, N SHOULD NOT attempt to share the outgoing
     link resource r between P[1],...,P[n] and Q.  However, upon local
     policy decision, N MAY allocate another available (shared) link
     other than r for use by Q.  If this is not the case (upon the local
     policy decision that no other link is allowed to be allocated for
     Q) or if no other link is available for Q, N SHOULD return a
     PathErr message with the new error code/sub-code "Admission Control
     Failure/LSP Admission Failure".

   - Otherwise (if P'[1],...,P'[n] and Q' are fully disjoint), the link
     r selected by N for the LSP Q MAY be exactly the same as the one
     selected for the LSPs P[1],...,P[n].  This happens after verifying
     (from the node's local policy) that the selected link r can be
     shared between these LSPs.  If this is not the case (for instance,
     the sharing ratio has reached its maximum for that link), and if
     upon local policy decision, no other link is allowed to be
     allocated for Q, N SHOULD return a PathErr message with the error
     code/sub-code "Admission Control Failure/Requested Bandwidth
     Unavailable" (see [RFC2205]).  Otherwise (if no other link is
     available), N SHOULD return a PathErr message with the new error
     code/sub-code "Admission Control Failure/LSP Admission Failure".

   Note that the process, through which m out of the n (m =< n)
   secondary protecting LSPs' PPROs may be selected on a local basis to
   perform the above comparison and subsequent link selection, is out of
   scope of this document.



Lang, et al.                Standards Track                    [Page 36]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


16.  ASSOCIATION Object

   The ASSOCIATION object is used to associate LSPs with each other.  In
   the context of end-to-end LSP recovery, the association MUST only
   identify LSPs that support the same Tunnel ID as well as the same
   tunnel sender address and tunnel endpoint address.  The Association
   Type, Association Source, and Association ID fields of the object
   together uniquely identify an association.  The object uses an object
   class number of the form 11bbbbbb to ensure compatibility with non-
   supporting nodes.

   The ASSOCIATION object is used to associate LSPs with each other.

16.1.  Format

   The IPv4 ASSOCIATION object (Class-Num of the form 11bbbbbb with
   value = 199, C-Type = 1) has the format:

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            Length             | Class-Num(199)|  C-Type (1)   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |       Association Type        |       Association ID          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                  IPv4 Association Source                      |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The IPv6 ASSOCIATION object (Class-Num of the form 11bbbbbb with
   value = 199, C-Type = 2) has the format:

     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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |            Length             | Class-Num(199)|  C-Type (2)   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |       Association Type        |       Association ID          |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                  IPv6 Association Source                      |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+








Lang, et al.                Standards Track                    [Page 37]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


      Association Type: 16 bits

         Indicates the type of association being identified.  Note that
         this value is considered when determining association.  The
         following are values defined in this document.

            Value       Type
            -----       ----
              0         Reserved
              1         Recovery (R)

      Association ID: 16 bits

         A value assigned by the LSP head-end.  When combined with the
         Association Type and Association Source, this value uniquely
         identifies an association.

      Association Source: 4 or 16 bytes

         An IPv4 or IPv6 address, respectively, that is associated to
         the node that originated the association.

16.2.  Processing

   In the end-to-end LSP recovery context, the ASSOCIATION object is
   used to associate a recovery LSP with the LSP(s) it is protecting or
   a protected LSP(s) with its recovery LSP.  The object is carried in
   Path messages.  More than one object MAY be carried in a single Path
   message.

   Transit nodes MUST transmit, without modification, any received
   ASSOCIATION object in the corresponding outgoing Path message.

   An ASSOCIATION object with an Association Type set to the value
   "Recovery" is used to identify an LSP-Recovery-related association.
   Any node associating a recovery LSP MUST insert an ASSOCIATION object
   with the following setting:

   - The Association Type MUST be set to the value "Recovery" in the
     Path message of the recovery LSP.

   - The (IPv4/IPv6) Association Source MUST be set to the tunnel sender
     address of the LSP being protected.








Lang, et al.                Standards Track                    [Page 38]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   - The Association ID MUST be set to the LSP ID of the LSP being
     protected by this LSP or the LSP protecting this LSP.  If unknown,
     this value is set to its own signaled LSP_ID value (default).
     Also, the value of the Association ID MAY change during the
     lifetime of the LSP.

   Terminating nodes use received ASSOCIATION object(s) with the
   Association Type set to the value "Recovery" to associate a recovery
   LSP with its matching working LSP.  This information is used to bind
   the appropriate working and recovery LSPs together.  Such nodes MUST
   ensure that the received Path messages, including ASSOCIATION
   object(s), are processed with the appropriate PROTECTION object
   settings, if present (see Section 14 for PROTECTION object
   processing).  Otherwise, this node MUST return a PathErr message with
   the new error code/sub-code "LSP Admission Failure/Bad Association
   Type".  Similarly, terminating nodes receiving a Path message with a

   PROTECTION object requiring association between working and recovery
   LSPs MUST include an ASSOCIATION object.  Otherwise, such nodes MUST
   return a PathErr message with the new error code/sub-code "Routing
   Problem/PROTECTION object not Applicable".

17.  Updated RSVP Message Formats

   This section presents the RSVP message-related formats as modified by
   this document.  Unmodified RSVP message formats are not listed.

   The format of a Path message is as follows:

   <Path Message> ::= <Common Header> [ <INTEGRITY> ]
                      [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ... ]
                      [ <MESSAGE_ID> ]
                      <SESSION> <RSVP_HOP>
                      <TIME_VALUES>
                      [ <EXPLICIT_ROUTE> ]
                      <LABEL_REQUEST>
                      [ <PROTECTION> ]
                      [ <LABEL_SET> ... ]
                      [ <SESSION_ATTRIBUTE> ]
                      [ <NOTIFY_REQUEST> ... ]
                      [ <ADMIN_STATUS> ]
                      [ <ASSOCIATION> ... ]
                      [ <PRIMARY_PATH_ROUTE> ... ]
                      [ <POLICY_DATA> ... ]
                      <sender descriptor>

   The format of the <sender descriptor> for unidirectional and
   bidirectional LSPs is not modified by the present document.



Lang, et al.                Standards Track                    [Page 39]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   The format of a Resv message is as follows:

   <Resv Message> ::= <Common Header> [ <INTEGRITY> ]
                      [ [<MESSAGE_ID_ACK> | <MESSAGE_ID_NACK>] ... ]
                      [ <MESSAGE_ID> ]
                      <SESSION> <RSVP_HOP>
                      <TIME_VALUES>
                      [ <RESV_CONFIRM> ]  [ <SCOPE> ]
                      [ <PROTECTION> ]
                      [ <NOTIFY_REQUEST> ]
                      [ <ADMIN_STATUS> ]
                      [ <POLICY_DATA> ... ]
                      <STYLE> <flow descriptor list>

      <flow descriptor list> is not modified by this document.

18.  Security Considerations

   The security threats identified in [RFC4426] may be experienced due
   to the exchange of RSVP messages and information as detailed in this
   document.  The following security mechanisms apply.

   RSVP signaling MUST be able to provide authentication and integrity.
   Authentication is required to ensure that the signaling messages are
   originating from the right place and have not been modified in
   transit.

   For this purpose, [RFC2747] provides the required RSVP message
   authentication and integrity for hop-by-hop RSVP message exchanges.
   For non hop-by-hop RSVP message exchanges the standard IPsec-based
   integrity and authentication can be used as explained in [RFC3473].

   Moreover, this document makes use of the Notify message exchange.
   This precludes RSVP's hop-by-hop integrity and authentication model.
   In the case, when the same level of security provided by [RFC2747] is
   desired, the standard IPsec based integrity and authentication can be
   used as explained in [RFC3473].

   To prevent the consequences of poorly applied protection and the
   increased risk of misconnection, in particular, when extra-traffic is
   involved, that would deliver the wrong traffic to the wrong
   destination, specific mechanisms have been put in place as described
   in Section 7.2, 8.3, and 10.








Lang, et al.                Standards Track                    [Page 40]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


19.  IANA Considerations

   IANA assigns values to RSVP protocol parameters.  Within the current
   document, a PROTECTION object (new C-Type), a PRIMARY_PATH_ROUTE
   object, and an ASSOCIATION object are defined.  In addition, new
   Error code/sub-code values are defined in this document.  Finally,
   registration of the ADMIN_STATUS object bits is requested.

   Two RSVP Class Numbers (Class-Num) and three Class Types (C-Types)
   values have to be defined by IANA in registry:

   http://www.iana.org/assignments/rsvp-parameters

   1) PROTECTION object (defined in Section 14.1)

   o PROTECTION object: Class-Num = 37

   - Type 2: C-Type = 2

   2) PRIMARY_PATH_ROUTE object (defined in Section 15.1)

   o PRIMARY_PATH_ROUTE object: Class-Num = 38 (of the form 0bbbbbbb),

   - Primary Path Route: C-Type = 1

   3) ASSOCIATION object (defined in Section 16.1)

   o ASSOCIATION object: Class-Num = 199 (of the form 11bbbbbb)

   - IPv4 Association: C-Type = 1
   - IPv6 Association: C-Type = 2

   o Association Type

   The following values defined for the Association Type (16 bits) field
   of the ASSOCIATION object.

            Value       Type
            -----       ----
              0         Reserved
              1         Recovery (R)

   Assignment of values (from 2 to 65535) by IANA are subject to IETF
   expert review process, i.e., IETF Standards Track RFC Action.







Lang, et al.                Standards Track                    [Page 41]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   4) Error Code/Sub-code values

   The following Error code/sub-code values are defined in this
   document:

   Error Code = 01: "Admission Control Failure" (see [RFC2205])

   o "Admission Control Failure/LSP Admission Failure" (4)
   o "Admission Control Failure/Bad Association Type" (5)

   Error Code = 02: "Policy Control Failure" (see [RFC2205])

   o "Policy Control failure/Hard Pre-empted" (20)

   Error Code = 24: "Routing Problem" (see [RFC3209])

   o "Routing Problem/Unsupported LSP Protection" (17)
   o "Routing Problem/PROTECTION object not applicable" (18)
   o "Routing Problem/Bad PRIMARY_PATH_ROUTE object" (19)
   o "Routing Problem/PRIMARY_PATH_ROUTE object not applicable" (20)

   Error Code = 25: "Notify Error" (see [RFC3209])

   o "Notify Error/LSP Failure"               (9)
   o "Notify Error/LSP Recovered"             (10)
   o "Notify Error/LSP Locally Failed"        (11)

   5) Registration of the ADMIN_STATUS object bits

   The ADMIN_STATUS object (Class-Num = 196, C-Type = 1) is defined in
   [RFC3473].

   IANA is also requested to track the ADMIN_STATUS bits extended by
   this document.  For this purpose, the following new registry entries
   have been created:

   http://www.iana.org/assignments/gmpls-sig-parameters

   - ADMIN_STATUS bits:

        Name: ADMIN_STATUS bits
        Format: 32-bit vector of bits
        Position:
           [0]          Reflect (R) bit defined in [RFC3471]
           [1..25]      To be assigned by IANA via IETF Standards
                        Track RFC Action.
           [26]         Lockout (L) bit is defined in Section 13
           [27]         Inhibit alarm communication (I) in [RFC4783]



Lang, et al.                Standards Track                    [Page 42]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


           [28]         Call control (C) bit is defined in
                        [GMPLS-CALL]
           [29]         Testing (T) bit is defined in [RFC3471]
           [30]         Administratively down (A) bit is defined in
                        [RFC3471]
           [31]         Deletion in progress (D) bit is defined in
                        [RFC3471]

20.  Acknowledgments

   The authors would like to thank John Drake for his active
   collaboration, Adrian Farrel for his contribution to this document
   (in particular, to the Section 10 and 11) and his thorough review of
   the document, Bart Rousseau (for editorial review), Dominique
   Verchere, and Stefaan De Cnodder.  Thanks also to Ichiro Inoue for
   his valuable comments.

   The authors would also like to thank Lou Berger for the time and
   effort he spent together with the design team, in contributing to the
   present document.

21.  References

21.1.  Normative References

   [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
                Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2205]    Braden, R., Zhang, L., Berson, S., Herzog, S., and S.
                Jamin, "Resource ReSerVation Protocol (RSVP) -- Version
                1 Functional Specification", RFC 2205, September 1997.

   [RFC2747]    Baker, F., Lindell, B., and M. Talwar, "RSVP
                Cryptographic Authentication", RFC 2747, January 2000.

   [RFC2961]    Berger, L., Gan, D., Swallow, G., Pan, P., Tommasi, F.,
                and S. Molendini, "RSVP Refresh Overhead Reduction
                Extensions", RFC 2961, April 2001.

   [RFC3209]    Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan,
                V., and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP
                Tunnels", RFC 3209, December 2001.

   [RFC3471]    Berger, L., "Generalized Multi-Protocol Label Switching
                (GMPLS) Signaling Functional Description", RFC 3471,
                January 2003.





Lang, et al.                Standards Track                    [Page 43]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   [RFC3473]    Berger, L., "Generalized Multi-Protocol Label Switching
                (GMPLS) Signaling Resource ReserVation Protocol-Traffic
                Engineering (RSVP-TE) Extensions", RFC 3473, January
                2003.

   [RFC3477]    Kompella, K. and Y. Rekhter, "Signalling Unnumbered
                Links in Resource ReSerVation Protocol - Traffic
                Engineering (RSVP-TE)", RFC 3477, January 2003.

   [RFC3945]    Mannie, E., "Generalized Multi-Protocol Label Switching
                (GMPLS) Architecture", RFC 3945, October 2004.

   [RFC4426]    Lang, J., Rajagopalan, B., and D. Papadimitriou,
                "Generalized Multi-Protocol Label Switching (GMPLS)
                Recovery Functional Specification", RFC 4426, March
                2006.

   [RFC4873]    Berger, L., Bryskin, I., Papdimitriou, D., and A.
                Farrel, "GMPLS Segment Recovery," RFC 4873, May 2007.

21.2.  Informative References

   [RFC4783]    Berger, L., "GMPLS - Communication of Alarm
                Information", RFC 4783, December 2006.

   [CRANK]      Farrel, A., Ed., "Crankback Signaling Extensions for
                MPLS and GMPLS RSVP-TE",  Work in Progress, January
                2007.

   [GMPLS-CALL] Papadimitriou, D., Ed., and A. Farrel, Ed., "Generalized
                MPLS (GMPLS) RSVP-TE Signaling Extensions in support of
                Calls",  Work in Progress, January 2007.

   [RFC4090]    Pan, P., Ed., Swallow, G., Ed., and A. Atlas, Ed., "Fast
                Reroute Extensions to RSVP-TE for LSP Tunnels", RFC
                4090, May 2005.

   [RFC4427]    Mannie, E., Ed., and D. Papadimitriou, Ed., "Recovery
                (Protection and Restoration) Terminology for Generalized
                Multi-Protocol Label Switching (GMPLS)", RFC 4427, March
                2006.

   [RFC4874]    Lee, CY., Farrel, A., and S. De Cnodder, "Exclude Routes
                - Extension to Resource ReserVation Protocol-Traffic
                Engineering (RSVP-TE)", RFC 4874, April 2007.






Lang, et al.                Standards Track                    [Page 44]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


   [G.841]      ITU-T, "Types and Characteristics of SDH Network
                Protection Architectures," Recommendation G.841, October
                1998, available from http://www.itu.int.

22.  Contributors

   This document is the result of the CCAMP Working Group Protection and
   Restoration design team joint effort.  The following are the authors
   that contributed to the present document:

   Deborah Brungard (AT&T)
   Rm. D1-3C22 - 200, S. Laurel Ave.
   Middletown, NJ 07748, USA
   EMail: dbrungard@att.com

   Sudheer Dharanikota
   EMail: sudheer@ieee.org

   Guangzhi Li (AT&T)
   180 Park Avenue
   Florham Park, NJ 07932, USA
   EMail: gli@research.att.com

   Eric Mannie (Perceval)
   Rue Tenbosch, 9
   1000 Brussels, Belgium
   Phone: +32-2-6409194
   EMail: eric.mannie@perceval.net

   Bala Rajagopalan (Intel Broadband Wireless Division)
   2111 NE 25th Ave.
   Hillsboro, OR 97124, USA
   EMail: bala.rajagopalan@intel.com


















Lang, et al.                Standards Track                    [Page 45]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


Editors' Addresses

   Jonathan P. Lang
   Sonos
   506 Chapala Street
   Santa Barbara, CA 93101, USA

   EMail: jplang@ieee.org


   Yakov Rekhter
   Juniper
   1194 N. Mathilda Avenue
   Sunnyvale, CA 94089, USA

   EMail: yakov@juniper.net


   Dimitri Papadimitriou
   Alcatel
   Copernicuslaan 50
   B-2018, Antwerpen, Belgium

   EMail: dimitri.papadimitriou@alcatel-lucent.be



























Lang, et al.                Standards Track                    [Page 46]
^L
RFC 4872       RSVP-TE Extensions for E2E GMPLS Recovery        May 2007


Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.







Lang, et al.                Standards Track                    [Page 47]
^L