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
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
|
Internet Engineering Task Force (IETF) A. Sajassi, Ed.
Request for Comments: 7432 Cisco
Category: Standards Track R. Aggarwal
ISSN: 2070-1721 Arktan
N. Bitar
Verizon
A. Isaac
Bloomberg
J. Uttaro
AT&T
J. Drake
Juniper Networks
W. Henderickx
Alcatel-Lucent
February 2015
BGP MPLS-Based Ethernet VPN
Abstract
This document describes procedures for BGP MPLS-based Ethernet VPNs
(EVPN). The procedures described here meet the requirements
specified in RFC 7209 -- "Requirements for Ethernet VPN (EVPN)".
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7432.
Sajassi, et al. Standards Track [Page 1]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................4
2. Specification of Requirements ...................................4
3. Terminology .....................................................4
4. BGP MPLS-Based EVPN Overview ....................................6
5. Ethernet Segment ................................................7
6. Ethernet Tag ID ................................................10
6.1. VLAN-Based Service Interface ..............................11
6.2. VLAN Bundle Service Interface .............................11
6.2.1. Port-Based Service Interface .......................11
6.3. VLAN-Aware Bundle Service Interface .......................11
6.3.1. Port-Based VLAN-Aware Service Interface ............12
7. BGP EVPN Routes ................................................13
7.1. Ethernet Auto-discovery Route .............................14
7.2. MAC/IP Advertisement Route ................................14
7.3. Inclusive Multicast Ethernet Tag Route ....................15
7.4. Ethernet Segment Route ....................................16
7.5. ESI Label Extended Community ..............................16
7.6. ES-Import Route Target ....................................17
7.7. MAC Mobility Extended Community ...........................18
7.8. Default Gateway Extended Community ........................18
7.9. Route Distinguisher Assignment per EVI ....................18
7.10. Route Targets ............................................19
7.10.1. Auto-derivation from the Ethernet Tag ID ..........19
8. Multihoming Functions ..........................................19
8.1. Multihomed Ethernet Segment Auto-discovery ................19
8.1.1. Constructing the Ethernet Segment Route ............19
8.2. Fast Convergence ..........................................20
8.2.1. Constructing Ethernet A-D per Ethernet
Segment Route ......................................21
8.2.1.1. Ethernet A-D Route Targets ................21
Sajassi, et al. Standards Track [Page 2]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
8.3. Split Horizon .............................................22
8.3.1. ESI Label Assignment ...............................22
8.3.1.1. Ingress Replication .......................22
8.3.1.2. P2MP MPLS LSPs ............................24
8.4. Aliasing and Backup Path ..................................25
8.4.1. Constructing Ethernet A-D per EVPN Instance Route ..26
8.5. Designated Forwarder Election .............................27
8.6. Interoperability with Single-Homing PEs ...................29
9. Determining Reachability to Unicast MAC Addresses ..............30
9.1. Local Learning ............................................30
9.2. Remote Learning ...........................................30
9.2.1. Constructing MAC/IP Address Advertisement ..........31
9.2.2. Route Resolution ...................................32
10. ARP and ND ....................................................33
10.1. Default Gateway ..........................................34
11. Handling of Multi-destination Traffic .........................36
11.1. Constructing Inclusive Multicast Ethernet Tag Route ......36
11.2. P-Tunnel Identification ..................................37
12. Processing of Unknown Unicast Packets .........................38
12.1. Ingress Replication ......................................38
12.2. P2MP MPLS LSPs ...........................................39
13. Forwarding Unicast Packets ....................................39
13.1. Forwarding Packets Received from a CE ....................39
13.2. Forwarding Packets Received from a Remote PE .............41
13.2.1. Unknown Unicast Forwarding ........................41
13.2.2. Known Unicast Forwarding ..........................41
14. Load Balancing of Unicast Packets .............................41
14.1. Load Balancing of Traffic from a PE to Remote CEs ........41
14.1.1. Single-Active Redundancy Mode .....................42
14.1.2. All-Active Redundancy Mode ........................42
14.2. Load Balancing of Traffic between a PE and a Local CE ....44
14.2.1. Data-Plane Learning ...............................44
14.2.2. Control-Plane Learning ............................44
15. MAC Mobility ..................................................45
15.1. MAC Duplication Issue ....................................47
15.2. Sticky MAC Addresses .....................................47
16. Multicast and Broadcast .......................................47
16.1. Ingress Replication ......................................47
16.2. P2MP LSPs ................................................48
16.2.1. Inclusive Trees ...................................48
17. Convergence ...................................................49
17.1. Transit Link and Node Failures between PEs ...............49
17.2. PE Failures ..............................................49
17.3. PE-to-CE Network Failures ................................49
18. Frame Ordering ................................................50
Sajassi, et al. Standards Track [Page 3]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
19. Security Considerations .......................................50
20. IANA Considerations ...........................................52
21. References ....................................................52
21.1. Normative References .....................................52
21.2. Informative References ...................................53
Acknowledgements ..................................................55
Contributors ......................................................55
Authors' Addresses ................................................56
1. Introduction
Virtual Private LAN Service (VPLS), as defined in [RFC4664],
[RFC4761], and [RFC4762], is a proven and widely deployed technology.
However, the existing solution has a number of limitations when it
comes to multihoming and redundancy, multicast optimization,
provisioning simplicity, flow-based load balancing, and multipathing;
these limitations are important considerations for Data Center (DC)
deployments. [RFC7209] describes the motivation for a new solution
to address these limitations. It also outlines a set of requirements
that the new solution must address.
This document describes procedures for a BGP MPLS-based solution
called Ethernet VPN (EVPN) to address the requirements specified in
[RFC7209]. Please refer to [RFC7209] for the detailed requirements
and motivation. EVPN requires extensions to existing IP/MPLS
protocols as described in this document. In addition to these
extensions, EVPN uses several building blocks from existing MPLS
technologies.
2. Specification of Requirements
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].
3. Terminology
Broadcast Domain: In a bridged network, the broadcast domain
corresponds to a Virtual LAN (VLAN), where a VLAN is typically
represented by a single VLAN ID (VID) but can be represented
by several VIDs where Shared VLAN Learning (SVL) is used
per [802.1Q].
Bridge Table: An instantiation of a broadcast domain on a MAC-VRF.
CE: Customer Edge device, e.g., a host, router, or switch.
Sajassi, et al. Standards Track [Page 4]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
EVI: An EVPN instance spanning the Provider Edge (PE) devices
participating in that EVPN.
MAC-VRF: A Virtual Routing and Forwarding table for Media Access
Control (MAC) addresses on a PE.
Ethernet Segment (ES): When a customer site (device or network) is
connected to one or more PEs via a set of Ethernet links, then
that set of links is referred to as an 'Ethernet segment'.
Ethernet Segment Identifier (ESI): A unique non-zero identifier that
identifies an Ethernet segment is called an 'Ethernet Segment
Identifier'.
Ethernet Tag: An Ethernet tag identifies a particular broadcast
domain, e.g., a VLAN. An EVPN instance consists of one or more
broadcast domains.
LACP: Link Aggregation Control Protocol.
MP2MP: Multipoint to Multipoint.
MP2P: Multipoint to Point.
P2MP: Point to Multipoint.
P2P: Point to Point.
PE: Provider Edge device.
Single-Active Redundancy Mode: When only a single PE, among all the
PEs attached to an Ethernet segment, is allowed to forward traffic
to/from that Ethernet segment for a given VLAN, then the Ethernet
segment is defined to be operating in Single-Active redundancy
mode.
All-Active Redundancy Mode: When all PEs attached to an Ethernet
segment are allowed to forward known unicast traffic to/from that
Ethernet segment for a given VLAN, then the Ethernet segment is
defined to be operating in All-Active redundancy mode.
Sajassi, et al. Standards Track [Page 5]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
4. BGP MPLS-Based EVPN Overview
This section provides an overview of EVPN. An EVPN instance
comprises Customer Edge devices (CEs) that are connected to Provider
Edge devices (PEs) that form the edge of the MPLS infrastructure. A
CE may be a host, a router, or a switch. The PEs provide virtual
Layer 2 bridged connectivity between the CEs. There may be multiple
EVPN instances in the provider's network.
The PEs may be connected by an MPLS Label Switched Path (LSP)
infrastructure, which provides the benefits of MPLS technology, such
as fast reroute, resiliency, etc. The PEs may also be connected by
an IP infrastructure, in which case IP/GRE (Generic Routing
Encapsulation) tunneling or other IP tunneling can be used between
the PEs. The detailed procedures in this document are specified only
for MPLS LSPs as the tunneling technology. However, these procedures
are designed to be extensible to IP tunneling as the Packet Switched
Network (PSN) tunneling technology.
In an EVPN, MAC learning between PEs occurs not in the data plane (as
happens with traditional bridging in VPLS [RFC4761] [RFC4762]) but in
the control plane. Control-plane learning offers greater control
over the MAC learning process, such as restricting who learns what,
and the ability to apply policies. Furthermore, the control plane
chosen for advertising MAC reachability information is multi-protocol
(MP) BGP (similar to IP VPNs [RFC4364]). This provides flexibility
and the ability to preserve the "virtualization" or isolation of
groups of interacting agents (hosts, servers, virtual machines) from
each other. In EVPN, PEs advertise the MAC addresses learned from
the CEs that are connected to them, along with an MPLS label, to
other PEs in the control plane using Multiprotocol BGP (MP-BGP).
Control-plane learning enables load balancing of traffic to and from
CEs that are multihomed to multiple PEs. This is in addition to load
balancing across the MPLS core via multiple LSPs between the same
pair of PEs. In other words, it allows CEs to connect to multiple
active points of attachment. It also improves convergence times in
the event of certain network failures.
However, learning between PEs and CEs is done by the method best
suited to the CE: data-plane learning, IEEE 802.1x, the Link Layer
Discovery Protocol (LLDP), IEEE 802.1aq, Address Resolution Protocol
(ARP), management plane, or other protocols.
It is a local decision as to whether the Layer 2 forwarding table on
a PE is populated with all the MAC destination addresses known to the
control plane, or whether the PE implements a cache-based scheme.
For instance, the MAC forwarding table may be populated only with the
MAC destinations of the active flows transiting a specific PE.
Sajassi, et al. Standards Track [Page 6]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
The policy attributes of EVPN are very similar to those of IP-VPN.
An EVPN instance requires a Route Distinguisher (RD) that is unique
per MAC-VRF and one or more globally unique Route Targets (RTs). A
CE attaches to a MAC-VRF on a PE, on an Ethernet interface that may
be configured for one or more Ethernet tags, e.g., VLAN IDs. Some
deployment scenarios guarantee uniqueness of VLAN IDs across EVPN
instances: all points of attachment for a given EVPN instance use the
same VLAN ID, and no other EVPN instance uses this VLAN ID. This
document refers to this case as a "Unique VLAN EVPN" and describes
simplified procedures to optimize for it.
5. Ethernet Segment
As indicated in [RFC7209], each Ethernet segment needs a unique
identifier in an EVPN. This section defines how such identifiers are
assigned and how they are encoded for use in EVPN signaling. Later
sections of this document describe the protocol mechanisms that
utilize the identifiers.
When a customer site is connected to one or more PEs via a set of
Ethernet links, then this set of Ethernet links constitutes an
"Ethernet segment". For a multihomed site, each Ethernet segment
(ES) is identified by a unique non-zero identifier called an Ethernet
Segment Identifier (ESI). An ESI is encoded as a 10-octet integer in
line format with the most significant octet sent first. The
following two ESI values are reserved:
- ESI 0 denotes a single-homed site.
- ESI {0xFF} (repeated 10 times) is known as MAX-ESI and is reserved.
In general, an Ethernet segment SHOULD have a non-reserved ESI that
is unique network wide (i.e., across all EVPN instances on all the
PEs). If the CE(s) constituting an Ethernet segment is (are) managed
by the network operator, then ESI uniqueness should be guaranteed;
however, if the CE(s) is (are) not managed, then the operator MUST
configure a network-wide unique ESI for that Ethernet segment. This
is required to enable auto-discovery of Ethernet segments and
Designated Forwarder (DF) election.
Sajassi, et al. Standards Track [Page 7]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
In a network with managed and non-managed CEs, the ESI has the
following format:
+---+---+---+---+---+---+---+---+---+---+
| T | ESI Value |
+---+---+---+---+---+---+---+---+---+---+
Where:
T (ESI Type) is a 1-octet field (most significant octet) that
specifies the format of the remaining 9 octets (ESI Value). The
following six ESI types can be used:
- Type 0 (T=0x00) - This type indicates an arbitrary 9-octet ESI
value, which is managed and configured by the operator.
- Type 1 (T=0x01) - When IEEE 802.1AX LACP is used between the PEs
and CEs, this ESI type indicates an auto-generated ESI value
determined from LACP by concatenating the following parameters:
+ CE LACP System MAC address (6 octets). The CE LACP System MAC
address MUST be encoded in the high-order 6 octets of the ESI
Value field.
+ CE LACP Port Key (2 octets). The CE LACP port key MUST be
encoded in the 2 octets next to the System MAC address.
+ The remaining octet will be set to 0x00.
As far as the CE is concerned, it would treat the multiple PEs that
it is connected to as the same switch. This allows the CE to
aggregate links that are attached to different PEs in the same
bundle.
This mechanism could be used only if it produces ESIs that satisfy
the uniqueness requirement specified above.
Sajassi, et al. Standards Track [Page 8]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
- Type 2 (T=0x02) - This type is used in the case of indirectly
connected hosts via a bridged LAN between the CEs and the PEs. The
ESI Value is auto-generated and determined based on the Layer 2
bridge protocol as follows: If the Multiple Spanning Tree Protocol
(MSTP) is used in the bridged LAN, then the value of the ESI is
derived by listening to Bridge PDUs (BPDUs) on the Ethernet
segment. To achieve this, the PE is not required to run MSTP.
However, the PE must learn the Root Bridge MAC address and Bridge
Priority of the root of the Internal Spanning Tree (IST) by
listening to the BPDUs. The ESI Value is constructed as follows:
+ Root Bridge MAC address (6 octets). The Root Bridge MAC address
MUST be encoded in the high-order 6 octets of the ESI Value
field.
+ Root Bridge Priority (2 octets). The CE Root Bridge Priority
MUST be encoded in the 2 octets next to the Root Bridge MAC
address.
+ The remaining octet will be set to 0x00.
This mechanism could be used only if it produces ESIs that satisfy
the uniqueness requirement specified above.
- Type 3 (T=0x03) - This type indicates a MAC-based ESI Value that
can be auto-generated or configured by the operator. The ESI Value
is constructed as follows:
+ System MAC address (6 octets). The PE MAC address MUST be
encoded in the high-order 6 octets of the ESI Value field.
+ Local Discriminator value (3 octets). The Local Discriminator
value MUST be encoded in the low-order 3 octets of the ESI Value.
This mechanism could be used only if it produces ESIs that satisfy
the uniqueness requirement specified above.
- Type 4 (T=0x04) - This type indicates a router-ID ESI Value that
can be auto-generated or configured by the operator. The ESI Value
is constructed as follows:
+ Router ID (4 octets). The system router ID MUST be encoded in
the high-order 4 octets of the ESI Value field.
+ Local Discriminator value (4 octets). The Local Discriminator
value MUST be encoded in the 4 octets next to the IP address.
+ The low-order octet of the ESI Value will be set to 0x00.
Sajassi, et al. Standards Track [Page 9]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
This mechanism could be used only if it produces ESIs that satisfy
the uniqueness requirement specified above.
- Type 5 (T=0x05) - This type indicates an Autonomous System
(AS)-based ESI Value that can be auto-generated or configured by
the operator. The ESI Value is constructed as follows:
+ AS number (4 octets). This is an AS number owned by the system
and MUST be encoded in the high-order 4 octets of the ESI Value
field. If a 2-octet AS number is used, the high-order extra
2 octets will be 0x0000.
+ Local Discriminator value (4 octets). The Local Discriminator
value MUST be encoded in the 4 octets next to the AS number.
+ The low-order octet of the ESI Value will be set to 0x00.
This mechanism could be used only if it produces ESIs that satisfy
the uniqueness requirement specified above.
6. Ethernet Tag ID
An Ethernet Tag ID is a 32-bit field containing either a 12-bit or
24-bit identifier that identifies a particular broadcast domain
(e.g., a VLAN) in an EVPN instance. The 12-bit identifier is called
the VLAN ID (VID). An EVPN instance consists of one or more
broadcast domains (one or more VLANs). VLANs are assigned to a given
EVPN instance by the provider of the EVPN service. A given VLAN can
itself be represented by multiple VIDs. In such cases, the PEs
participating in that VLAN for a given EVPN instance are responsible
for performing VLAN ID translation to/from locally attached CE
devices.
If a VLAN is represented by a single VID across all PE devices
participating in that VLAN for that EVPN instance, then there is no
need for VID translation at the PEs. Furthermore, some deployment
scenarios guarantee uniqueness of VIDs across all EVPN instances; all
points of attachment for a given EVPN instance use the same VID, and
no other EVPN instances use that VID. This allows the RT(s) for each
EVPN instance to be derived automatically from the corresponding VID,
as described in Section 7.10.1.
The following subsections discuss the relationship between broadcast
domains (e.g., VLANs), Ethernet Tag IDs (e.g., VIDs), and MAC-VRFs as
well as the setting of the Ethernet Tag ID, in the various EVPN BGP
routes (defined in Section 8), for the different types of service
interfaces described in [RFC7209].
Sajassi, et al. Standards Track [Page 10]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
The following Ethernet Tag ID value is reserved:
- Ethernet Tag ID {0xFFFFFFFF} is known as MAX-ET.
6.1. VLAN-Based Service Interface
With this service interface, an EVPN instance consists of only a
single broadcast domain (e.g., a single VLAN). Therefore, there is a
one-to-one mapping between a VID on this interface and a MAC-VRF.
Since a MAC-VRF corresponds to a single VLAN, it consists of a single
bridge table corresponding to that VLAN. If the VLAN is represented
by multiple VIDs (e.g., a different VID per Ethernet segment per PE),
then each PE needs to perform VID translation for frames destined to
its Ethernet segment(s). In such scenarios, the Ethernet frames
transported over an MPLS/IP network SHOULD remain tagged with the
originating VID, and a VID translation MUST be supported in the data
path and MUST be performed on the disposition PE. The Ethernet Tag
ID in all EVPN routes MUST be set to 0.
6.2. VLAN Bundle Service Interface
With this service interface, an EVPN instance corresponds to multiple
broadcast domains (e.g., multiple VLANs); however, only a single
bridge table is maintained per MAC-VRF, which means multiple VLANs
share the same bridge table. This implies that MAC addresses MUST be
unique across all VLANs for that EVI in order for this service to
work. In other words, there is a many-to-one mapping between VLANs
and a MAC-VRF, and the MAC-VRF consists of a single bridge table.
Furthermore, a single VLAN must be represented by a single VID --
e.g., no VID translation is allowed for this service interface type.
The MPLS-encapsulated frames MUST remain tagged with the originating
VID. Tag translation is NOT permitted. The Ethernet Tag ID in all
EVPN routes MUST be set to 0.
6.2.1. Port-Based Service Interface
This service interface is a special case of the VLAN bundle service
interface, where all of the VLANs on the port are part of the same
service and map to the same bundle. The procedures are identical to
those described in Section 6.2.
6.3. VLAN-Aware Bundle Service Interface
With this service interface, an EVPN instance consists of multiple
broadcast domains (e.g., multiple VLANs) with each VLAN having its
own bridge table -- i.e., multiple bridge tables (one per VLAN) are
maintained by a single MAC-VRF corresponding to the EVPN instance.
Sajassi, et al. Standards Track [Page 11]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
Broadcast, unknown unicast, or multicast (BUM) traffic is sent only
to the CEs in a given broadcast domain; however, the broadcast
domains within an EVI either MAY each have their own P-Tunnel or MAY
share P-Tunnels -- e.g., all of the broadcast domains in an EVI MAY
share a single P-Tunnel.
In the case where a single VLAN is represented by a single VID and
thus no VID translation is required, an MPLS-encapsulated packet MUST
carry that VID. The Ethernet Tag ID in all EVPN routes MUST be set
to that VID. The advertising PE MAY advertise the MPLS Label1 in the
MAC/IP Advertisement route representing ONLY the EVI or representing
both the Ethernet Tag ID and the EVI. This decision is only a local
matter by the advertising PE (which is also the disposition PE) and
doesn't affect any other PEs.
In the case where a single VLAN is represented by different VIDs on
different CEs and thus VID translation is required, a normalized
Ethernet Tag ID (VID) MUST be carried in the EVPN BGP routes.
Furthermore, the advertising PE advertises the MPLS Label1 in the
MAC/IP Advertisement route representing both the Ethernet Tag ID and
the EVI, so that upon receiving an MPLS-encapsulated packet, it can
identify the corresponding bridge table from the MPLS EVPN label and
perform Ethernet Tag ID translation ONLY at the disposition PE --
i.e., the Ethernet frames transported over the MPLS/IP network MUST
remain tagged with the originating VID, and VID translation is
performed on the disposition PE. The Ethernet Tag ID in all EVPN
routes MUST be set to the normalized Ethernet Tag ID assigned by the
EVPN provider.
6.3.1. Port-Based VLAN-Aware Service Interface
This service interface is a special case of the VLAN-aware bundle
service interface, where all of the VLANs on the port are part of the
same service and are mapped to a single bundle but without any VID
translation. The procedures are a subset of those described in
Section 6.3.
Sajassi, et al. Standards Track [Page 12]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
7. BGP EVPN Routes
This document defines a new BGP Network Layer Reachability
Information (NLRI) called the EVPN NLRI.
The format of the EVPN NLRI is as follows:
+-----------------------------------+
| Route Type (1 octet) |
+-----------------------------------+
| Length (1 octet) |
+-----------------------------------+
| Route Type specific (variable) |
+-----------------------------------+
The Route Type field defines the encoding of the rest of the EVPN
NLRI (Route Type specific EVPN NLRI).
The Length field indicates the length in octets of the Route Type
specific field of the EVPN NLRI.
This document defines the following Route Types:
+ 1 - Ethernet Auto-Discovery (A-D) route
+ 2 - MAC/IP Advertisement route
+ 3 - Inclusive Multicast Ethernet Tag route
+ 4 - Ethernet Segment route
The detailed encoding and procedures for these route types are
described in subsequent sections.
The EVPN NLRI is carried in BGP [RFC4271] using BGP Multiprotocol
Extensions [RFC4760] with an Address Family Identifier (AFI) of 25
(L2VPN) and a Subsequent Address Family Identifier (SAFI) of 70
(EVPN). The NLRI field in the MP_REACH_NLRI/MP_UNREACH_NLRI
attribute contains the EVPN NLRI (encoded as specified above).
In order for two BGP speakers to exchange labeled EVPN NLRI, they
must use BGP Capabilities Advertisements to ensure that they both are
capable of properly processing such NLRI. This is done as specified
in [RFC4760], by using capability code 1 (multiprotocol BGP) with an
AFI of 25 (L2VPN) and a SAFI of 70 (EVPN).
Sajassi, et al. Standards Track [Page 13]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
7.1. Ethernet Auto-discovery Route
An Ethernet A-D route type specific EVPN NLRI consists of the
following:
+---------------------------------------+
| Route Distinguisher (RD) (8 octets) |
+---------------------------------------+
|Ethernet Segment Identifier (10 octets)|
+---------------------------------------+
| Ethernet Tag ID (4 octets) |
+---------------------------------------+
| MPLS Label (3 octets) |
+---------------------------------------+
For the purpose of BGP route key processing, only the Ethernet
Segment Identifier and the Ethernet Tag ID are considered to be part
of the prefix in the NLRI. The MPLS Label field is to be treated as
a route attribute as opposed to being part of the route.
For procedures and usage of this route, please see Sections 8.2
("Fast Convergence") and 8.4 ("Aliasing and Backup Path").
7.2. MAC/IP Advertisement Route
A MAC/IP Advertisement route type specific EVPN NLRI consists of the
following:
+---------------------------------------+
| RD (8 octets) |
+---------------------------------------+
|Ethernet Segment Identifier (10 octets)|
+---------------------------------------+
| Ethernet Tag ID (4 octets) |
+---------------------------------------+
| MAC Address Length (1 octet) |
+---------------------------------------+
| MAC Address (6 octets) |
+---------------------------------------+
| IP Address Length (1 octet) |
+---------------------------------------+
| IP Address (0, 4, or 16 octets) |
+---------------------------------------+
| MPLS Label1 (3 octets) |
+---------------------------------------+
| MPLS Label2 (0 or 3 octets) |
+---------------------------------------+
Sajassi, et al. Standards Track [Page 14]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
For the purpose of BGP route key processing, only the Ethernet Tag
ID, MAC Address Length, MAC Address, IP Address Length, and IP
Address fields are considered to be part of the prefix in the NLRI.
The Ethernet Segment Identifier, MPLS Label1, and MPLS Label2 fields
are to be treated as route attributes as opposed to being part of the
"route". Both the IP and MAC address lengths are in bits.
For procedures and usage of this route, please see Sections 9
("Determining Reachability to Unicast MAC Addresses") and 14 ("Load
Balancing of Unicast Packets").
7.3. Inclusive Multicast Ethernet Tag Route
An Inclusive Multicast Ethernet Tag route type specific EVPN NLRI
consists of the following:
+---------------------------------------+
| RD (8 octets) |
+---------------------------------------+
| Ethernet Tag ID (4 octets) |
+---------------------------------------+
| IP Address Length (1 octet) |
+---------------------------------------+
| Originating Router's IP Address |
| (4 or 16 octets) |
+---------------------------------------+
For procedures and usage of this route, please see Sections 11
("Handling of Multi-destination Traffic"), 12 ("Processing of Unknown
Unicast Packets"), and 16 ("Multicast and Broadcast"). The IP
address length is in bits. For the purpose of BGP route key
processing, only the Ethernet Tag ID, IP Address Length, and
Originating Router's IP Address fields are considered to be part of
the prefix in the NLRI.
Sajassi, et al. Standards Track [Page 15]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
7.4. Ethernet Segment Route
An Ethernet Segment route type specific EVPN NLRI consists of the
following:
+---------------------------------------+
| RD (8 octets) |
+---------------------------------------+
|Ethernet Segment Identifier (10 octets)|
+---------------------------------------+
| IP Address Length (1 octet) |
+---------------------------------------+
| Originating Router's IP Address |
| (4 or 16 octets) |
+---------------------------------------+
For procedures and usage of this route, please see Section 8.5
("Designated Forwarder Election"). The IP address length is in bits.
For the purpose of BGP route key processing, only the Ethernet
Segment ID, IP Address Length, and Originating Router's IP Address
fields are considered to be part of the prefix in the NLRI.
7.5. ESI Label Extended Community
This Extended Community is a new transitive Extended Community having
a Type field value of 0x06 and the Sub-Type 0x01. It may be
advertised along with Ethernet Auto-discovery routes, and it enables
split-horizon procedures for multihomed sites as described in
Section 8.3 ("Split Horizon"). The ESI Label field represents an ES
by the advertising PE, and it is used in split-horizon filtering by
other PEs that are connected to the same multihomed Ethernet segment.
Each ESI Label extended community is encoded as an 8-octet value, as
follows:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06 | Sub-Type=0x01 | Flags(1 octet)| Reserved=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved=0 | ESI Label |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The low-order bit of the Flags octet is defined as the
"Single-Active" bit. A value of 0 means that the multihomed site
is operating in All-Active redundancy mode, and a value of 1 means
that the multihomed site is operating in Single-Active redundancy
mode.
Sajassi, et al. Standards Track [Page 16]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
7.6. ES-Import Route Target
This is a new transitive Route Target extended community carried with
the Ethernet Segment route. When used, it enables all the PEs
connected to the same multihomed site to import the Ethernet Segment
routes. The value is derived automatically for the ESI Types 1, 2,
and 3, by encoding the high-order 6-octet portion of the 9-octet ESI
Value, which corresponds to a MAC address, in the ES-Import Route
Target. The format of this Extended Community is as follows:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06 | Sub-Type=0x02 | ES-Import |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ES-Import Cont'd |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
This document expands the definition of the Route Target extended
community to allow the value of the high-order octet (Type field) to
be 0x06 (in addition to the values specified in [RFC4360]). The
low-order octet (Sub-Type field) value 0x02 indicates that this
Extended Community is of type "Route Target". The new Type field
value 0x06 indicates that the structure of this RT is a 6-octet value
(e.g., a MAC address). A BGP speaker that implements RT Constraint
[RFC4684] MUST apply the RT Constraint procedures to the ES-Import RT
as well.
For procedures and usage of this attribute, please see Section 8.1
("Multihomed Ethernet Segment Auto-discovery").
Sajassi, et al. Standards Track [Page 17]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
7.7. MAC Mobility Extended Community
This Extended Community is a new transitive Extended Community having
a Type field value of 0x06 and the Sub-Type 0x00. It may be
advertised along with MAC/IP Advertisement routes. The procedures
for using this Extended Community are described in Section 15 ("MAC
Mobility").
The MAC Mobility extended community is encoded as an 8-octet value,
as follows:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=0x06 | Sub-Type=0x00 |Flags(1 octet)| Reserved=0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The low-order bit of the Flags octet is defined as the
"Sticky/static" flag and may be set to 1. A value of 1 means that
the MAC address is static and cannot move. The sequence number is
used to ensure that PEs retain the correct MAC/IP Advertisement route
when multiple updates occur for the same MAC address.
7.8. Default Gateway Extended Community
The Default Gateway community is an Extended Community of an Opaque
Type (see Section 3.3 of [RFC4360]). It is a transitive community,
which means that the first octet is 0x03. The value of the second
octet (Sub-Type) is 0x0d (Default Gateway) as assigned by IANA. The
Value field of this community is reserved (set to 0 by the senders,
ignored by the receivers). For procedures and usage of this
attribute, please see Section 10.1 ("Default Gateway").
7.9. Route Distinguisher Assignment per MAC-VRF
The Route Distinguisher (RD) MUST be set to the RD of the MAC-VRF
that is advertising the NLRI. An RD MUST be assigned for a given
MAC-VRF on a PE. This RD MUST be unique across all MAC-VRFs on a PE.
It is RECOMMENDED to use the Type 1 RD [RFC4364]. The value field
comprises an IP address of the PE (typically, the loopback address)
followed by a number unique to the PE. This number may be generated
by the PE. Or, in the Unique VLAN EVPN case, the low-order 12 bits
may be the 12-bit VLAN ID, with the remaining high-order 4 bits set
to 0.
Sajassi, et al. Standards Track [Page 18]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
7.10. Route Targets
The EVPN route MAY carry one or more Route Target (RT) attributes.
RTs may be configured (as in IP VPNs) or may be derived
automatically.
If a PE uses RT Constraint, the PE advertises all such RTs using RT
Constraints per [RFC4684]. The use of RT Constraints allows each
EVPN route to reach only those PEs that are configured to import at
least one RT from the set of RTs carried in the EVPN route.
7.10.1. Auto-derivation from the Ethernet Tag ID
For the "Unique VLAN EVPN" scenario, it is highly desirable to
auto-derive the RT from the Ethernet Tag ID (VLAN ID) for that EVPN
instance. The procedure for performing such auto-derivation is as
follows:
+ The Global Administrator field of the RT MUST be set to the
Autonomous System (AS) number with which the PE is associated.
+ The 12-bit VLAN ID MUST be encoded in the lowest 12 bits of the
Local Administrator field, with the remaining bits set to zero.
8. Multihoming Functions
This section discusses the functions, procedures, and associated BGP
routes used to support multihoming in EVPN. This covers both
multihomed device (MHD) and multihomed network (MHN) scenarios.
8.1. Multihomed Ethernet Segment Auto-discovery
PEs connected to the same Ethernet segment can automatically discover
each other with minimal to no configuration through the exchange of
the Ethernet Segment route.
8.1.1. Constructing the Ethernet Segment Route
The Route Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The
value field comprises an IP address of the PE (typically, the
loopback address) followed by a number unique to the PE.
The Ethernet Segment Identifier (ESI) MUST be set to the 10-octet
value described in Section 5.
The BGP advertisement that advertises the Ethernet Segment route MUST
also carry an ES-Import Route Target, as defined in Section 7.6.
Sajassi, et al. Standards Track [Page 19]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
The Ethernet Segment route filtering MUST be done such that the
Ethernet Segment route is imported only by the PEs that are
multihomed to the same Ethernet segment. To that end, each PE that
is connected to a particular Ethernet segment constructs an import
filtering rule to import a route that carries the ES-Import Route
Target, constructed from the ESI.
8.2. Fast Convergence
In EVPN, MAC address reachability is learned via the BGP control
plane over the MPLS network. As such, in the absence of any fast
protection mechanism, the network convergence time is a function of
the number of MAC/IP Advertisement routes that must be withdrawn by
the PE encountering a failure. For highly scaled environments, this
scheme yields slow convergence.
To alleviate this, EVPN defines a mechanism to efficiently and
quickly signal, to remote PE nodes, the need to update their
forwarding tables upon the occurrence of a failure in connectivity to
an Ethernet segment. This is done by having each PE advertise a set
of one or more Ethernet A-D per ES routes for each locally attached
Ethernet segment (refer to Section 8.2.1 below for details on how
these routes are constructed). A PE may need to advertise more than
one Ethernet A-D per ES route for a given ES because the ES may be in
a multiplicity of EVIs and the RTs for all of these EVIs may not fit
into a single route. Advertising a set of Ethernet A-D per ES routes
for the ES allows each route to contain a subset of the complete set
of RTs. Each Ethernet A-D per ES route is differentiated from the
other routes in the set by a different Route Distinguisher (RD).
Upon a failure in connectivity to the attached segment, the PE
withdraws the corresponding set of Ethernet A-D per ES routes. This
triggers all PEs that receive the withdrawal to update their next-hop
adjacencies for all MAC addresses associated with the Ethernet
segment in question. If no other PE had advertised an Ethernet A-D
route for the same segment, then the PE that received the withdrawal
simply invalidates the MAC entries for that segment. Otherwise, the
PE updates its next-hop adjacencies accordingly.
Sajassi, et al. Standards Track [Page 20]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
8.2.1. Constructing Ethernet A-D per Ethernet Segment Route
This section describes the procedures used to construct the Ethernet
A-D per ES route, which is used for fast convergence (as discussed
above) and for advertising the ESI label used for split-horizon
filtering (as discussed in Section 8.3). Support of this route is
REQUIRED.
The Route Distinguisher (RD) MUST be a Type 1 RD [RFC4364]. The
value field comprises an IP address of the PE (typically, the
loopback address) followed by a number unique to the PE.
The Ethernet Segment Identifier MUST be a 10-octet entity as
described in Section 5 ("Ethernet Segment"). The Ethernet A-D route
is not needed when the Segment Identifier is set to 0 (e.g., single-
homed scenarios).
The Ethernet Tag ID MUST be set to MAX-ET.
The MPLS label in the NLRI MUST be set to 0.
The ESI Label extended community MUST be included in the route. If
All-Active redundancy mode is desired, then the "Single-Active" bit
in the flags of the ESI Label extended community MUST be set to 0 and
the MPLS label in that Extended Community MUST be set to a valid MPLS
label value. The MPLS label in this Extended Community is referred
to as the ESI label and MUST have the same value in each Ethernet A-D
per ES route advertised for the ES. This label MUST be a downstream
assigned MPLS label if the advertising PE is using ingress
replication for receiving multicast, broadcast, or unknown unicast
traffic from other PEs. If the advertising PE is using P2MP MPLS
LSPs for sending multicast, broadcast, or unknown unicast traffic,
then this label MUST be an upstream assigned MPLS label. The usage
of this label is described in Section 8.3.
If Single-Active redundancy mode is desired, then the "Single-Active"
bit in the flags of the ESI Label extended community MUST be set to 1
and the ESI label SHOULD be set to a valid MPLS label value.
8.2.1.1. Ethernet A-D Route Targets
Each Ethernet A-D per ES route MUST carry one or more Route Target
(RT) attributes. The set of Ethernet A-D routes per ES MUST carry
the entire set of RTs for all the EVPN instances to which the
Ethernet segment belongs.
Sajassi, et al. Standards Track [Page 21]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
8.3. Split Horizon
Consider a CE that is multihomed to two or more PEs on an Ethernet
segment ES1 operating in All-Active redundancy mode. If the CE sends
a broadcast, unknown unicast, or multicast (BUM) packet to one of the
non-Designated Forwarder (non-DF) PEs, say PE1, then PE1 will forward
that packet to all or a subset of the other PEs in that EVPN
instance, including the DF PE for that Ethernet segment. In this
case, the DF PE to which the CE is multihomed MUST drop the packet
and not forward back to the CE. This filtering is referred to as
"split-horizon filtering" in this document.
When a set of PEs are operating in Single-Active redundancy mode, the
use of this split-horizon filtering mechanism is highly recommended
because it prevents transient loops at the time of failure or
recovery that would impact the Ethernet segment -- e.g., when two PEs
think that both are DFs for that segment before the DF election
procedure settles down.
In order to achieve this split-horizon function, every BUM packet
originating from a non-DF PE is encapsulated with an MPLS label that
identifies the Ethernet segment of origin (i.e., the segment from
which the frame entered the EVPN network). This label is referred to
as the ESI label and MUST be distributed by all PEs when operating in
All-Active redundancy mode using a set of Ethernet A-D per ES routes,
per Section 8.2.1 above. The ESI label SHOULD be distributed by all
PEs when operating in Single-Active redundancy mode using a set of
Ethernet A-D per ES routes. These routes are imported by the PEs
connected to the Ethernet segment and also by the PEs that have at
least one EVPN instance in common with the Ethernet segment in the
route. As described in Section 8.1.1, the route MUST carry an ESI
Label extended community with a valid ESI label. The disposition PE
relies on the value of the ESI label to determine whether or not a
BUM frame is allowed to egress a specific Ethernet segment.
8.3.1. ESI Label Assignment
The following subsections describe the assignment procedures for the
ESI label, which differ depending on the type of tunnels being used
to deliver multi-destination packets in the EVPN network.
8.3.1.1. Ingress Replication
Each PE that operates in All-Active or Single-Active redundancy mode
and that uses ingress replication to receive BUM traffic advertises a
downstream assigned ESI label in the set of Ethernet A-D per ES
routes for its attached ES. This label MUST be programmed in the
platform label space by the advertising PE, and the forwarding entry
Sajassi, et al. Standards Track [Page 22]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
for this label must result in NOT forwarding packets received with
this label onto the Ethernet segment for which the label was
distributed.
The rules for the inclusion of the ESI label in a BUM packet by the
ingress PE operating in All-Active redundancy mode are as follows:
- A non-DF ingress PE MUST include the ESI label distributed by the
DF egress PE in the copy of a BUM packet sent to it.
- An ingress PE (DF or non-DF) SHOULD include the ESI label
distributed by each non-DF egress PE in the copy of a BUM packet
sent to it.
The rule for the inclusion of the ESI label in a BUM packet by the
ingress PE operating in Single-Active redundancy mode is as follows:
- An ingress DF PE SHOULD include the ESI label distributed by the
egress PE in the copy of a BUM packet sent to it.
In both All-Active and Single-Active redundancy mode, an ingress PE
MUST NOT include an ESI label in the copy of a BUM packet sent to an
egress PE that is not attached to the ES through which the BUM packet
entered the EVI.
As an example, consider PE1 and PE2, which are multihomed to CE1 on
ES1 and operating in All-Active multihoming mode. Further, consider
that PE1 is using P2P or MP2P LSPs to send packets to PE2. Consider
that PE1 is the non-DF for VLAN1 and PE2 is the DF for VLAN1, and PE1
receives a BUM packet from CE1 on VLAN1 on ES1. In this scenario,
PE2 distributes an Inclusive Multicast Ethernet Tag route for VLAN1
corresponding to an EVPN instance. So, when PE1 sends a BUM packet
that it receives from CE1, it MUST first push onto the MPLS label
stack the ESI label that PE2 has distributed for ES1. It MUST then
push onto the MPLS label stack the MPLS label distributed by PE2 in
the Inclusive Multicast Ethernet Tag route for VLAN1. The resulting
packet is further encapsulated in the P2P or MP2P LSP label stack
required to transmit the packet to PE2. When PE2 receives this
packet, it determines, from the top MPLS label, the set of ESIs to
which it will replicate the packet after any P2P or MP2P LSP labels
have been removed. If the next label is the ESI label assigned by
PE2 for ES1, then PE2 MUST NOT forward the packet onto ES1. If the
next label is an ESI label that has not been assigned by PE2, then
PE2 MUST drop the packet. It should be noted that in this scenario,
if PE2 receives a BUM packet for VLAN1 from CE1, then it SHOULD
encapsulate the packet with an ESI label received from PE1 when
sending it to PE1 in order to avoid any transient loops during a
failure scenario that would impact ES1 (e.g., port or link failure).
Sajassi, et al. Standards Track [Page 23]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
8.3.1.2. P2MP MPLS LSPs
The non-DF PEs that operate in All-Active redundancy mode and that
use P2MP LSPs to send BUM traffic advertise an upstream assigned ESI
label in the set of Ethernet A-D per ES routes for their common
attached ES. This label is upstream assigned by the PE that
advertises the route. This label MUST be programmed by the other PEs
that are connected to the ESI advertised in the route, in the context
label space for the advertising PE. Further, the forwarding entry
for this label must result in NOT forwarding packets received with
this label onto the Ethernet segment for which the label was
distributed. This label MUST also be programmed by the other PEs
that import the route but are not connected to the ESI advertised in
the route, in the context label space for the advertising PE.
Further, the forwarding entry for this label must be a label pop with
no other associated action.
The DF PE that operates in Single-Active redundancy mode and that
uses P2MP LSPs to send BUM traffic should advertise an upstream
assigned ESI label in the set of Ethernet A-D per ES routes for its
attached ES, just as described in the previous paragraph.
As an example, consider PE1 and PE2, which are multihomed to CE1 on
ES1 and operating in All-Active multihoming mode. Also, consider
that PE3 belongs to one of the EVPN instances of ES1. Further,
assume that PE1, which is the non-DF, is using P2MP MPLS LSPs to send
BUM packets. When PE1 sends a BUM packet that it receives from CE1,
it MUST first push onto the MPLS label stack the ESI label that it
has assigned for the ESI on which the packet was received. The
resulting packet is further encapsulated in the P2MP MPLS label stack
necessary to transmit the packet to the other PEs. Penultimate hop
popping MUST be disabled on the P2MP LSPs used in the MPLS transport
infrastructure for EVPN. When PE2 receives this packet, it
decapsulates the top MPLS label and forwards the packet using the
context label space determined by the top label. If the next label
is the ESI label assigned by PE1 to ES1, then PE2 MUST NOT forward
the packet onto ES1. When PE3 receives this packet, it decapsulates
the top MPLS label and forwards the packet using the context label
space determined by the top label. If the next label is the ESI
label assigned by PE1 to ES1 and PE3 is not connected to ES1, then
PE3 MUST pop the label and flood the packet over all local ESIs in
that EVPN instance. It should be noted that when PE2 sends a BUM
frame over a P2MP LSP, it should encapsulate the frame with an ESI
label even though it is the DF for that VLAN, in order to avoid any
transient loops during a failure scenario that would impact ES1
(e.g., port or link failure).
Sajassi, et al. Standards Track [Page 24]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
8.4. Aliasing and Backup Path
In the case where a CE is multihomed to multiple PE nodes, using a
Link Aggregation Group (LAG) with All-Active redundancy, it is
possible that only a single PE learns a set of the MAC addresses
associated with traffic transmitted by the CE. This leads to a
situation where remote PE nodes receive MAC/IP Advertisement routes
for these addresses from a single PE, even though multiple PEs are
connected to the multihomed segment. As a result, the remote PEs are
not able to effectively load balance traffic among the PE nodes
connected to the multihomed Ethernet segment. This could be the
case, for example, when the PEs perform data-plane learning on the
access, and the load-balancing function on the CE hashes traffic from
a given source MAC address to a single PE.
Another scenario where this occurs is when the PEs rely on control-
plane learning on the access (e.g., using ARP), since ARP traffic
will be hashed to a single link in the LAG.
To address this issue, EVPN introduces the concept of 'aliasing',
which is the ability of a PE to signal that it has reachability to an
EVPN instance on a given ES even when it has learned no MAC addresses
from that EVI/ES. The Ethernet A-D per EVI route is used for this
purpose. A remote PE that receives a MAC/IP Advertisement route with
a non-reserved ESI SHOULD consider the advertised MAC address to be
reachable via all PEs that have advertised reachability to that MAC
address's EVI/ES via the combination of an Ethernet A-D per EVI route
for that EVI/ES (and Ethernet tag, if applicable) AND Ethernet A-D
per ES routes for that ES with the "Single-Active" bit in the flags
of the ESI Label extended community set to 0.
Note that the Ethernet A-D per EVI route may be received by a remote
PE before it receives the set of Ethernet A-D per ES routes.
Therefore, in order to handle corner cases and race conditions, the
Ethernet A-D per EVI route MUST NOT be used for traffic forwarding by
a remote PE until it also receives the associated set of Ethernet A-D
per ES routes.
The backup path is a closely related function, but it is used in
Single-Active redundancy mode. In this case, a PE also advertises
that it has reachability to a given EVI/ES using the same combination
of Ethernet A-D per EVI route and Ethernet A-D per ES route as
discussed above, but with the "Single-Active" bit in the flags of the
ESI Label extended community set to 1. A remote PE that receives a
MAC/IP Advertisement route with a non-reserved ESI SHOULD consider
the advertised MAC address to be reachable via any PE that has
advertised this combination of Ethernet A-D routes, and it SHOULD
install a backup path for that MAC address.
Sajassi, et al. Standards Track [Page 25]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
8.4.1. Constructing Ethernet A-D per EVPN Instance Route
This section describes the procedures used to construct the Ethernet
A-D per EVPN instance (EVI) route, which is used for aliasing (as
discussed above). Support of this route is OPTIONAL.
The Route Distinguisher (RD) MUST be set per Section 7.9.
The Ethernet Segment Identifier MUST be a 10-octet entity as
described in Section 5 ("Ethernet Segment"). The Ethernet A-D route
is not needed when the Segment Identifier is set to 0.
The Ethernet Tag ID is the identifier of an Ethernet tag on the
Ethernet segment. This value may be a 12-bit VLAN ID, in which case
the low-order 12 bits are set to the VLAN ID and the high-order
20 bits are set to 0. Or, it may be another Ethernet tag used by the
EVPN. It MAY be set to the default Ethernet tag on the Ethernet
segment or to the value 0.
Note that the above allows the Ethernet A-D route to be advertised
with one of the following granularities:
+ One Ethernet A-D route per <ESI, Ethernet Tag ID> tuple per
MAC-VRF. This is applicable when the PE uses MPLS-based
disposition with VID translation or may be applicable when the
PE uses MAC-based disposition with VID translation.
+ One Ethernet A-D route for each <ESI> per MAC-VRF (where the
Ethernet Tag ID is set to 0). This is applicable when the PE uses
MAC-based disposition or MPLS-based disposition without VID
translation.
The usage of the MPLS label is described in Section 14 ("Load
Balancing of Unicast Packets").
The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
be set to the IPv4 or IPv6 address of the advertising PE.
The Ethernet A-D route MUST carry one or more Route Target (RT)
attributes, per Section 7.10.
Sajassi, et al. Standards Track [Page 26]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
8.5. Designated Forwarder Election
Consider a CE that is a host or a router that is multihomed directly
to more than one PE in an EVPN instance on a given Ethernet segment.
One or more Ethernet tags may be configured on the Ethernet segment.
In this scenario, only one of the PEs, referred to as the Designated
Forwarder (DF), is responsible for certain actions:
- Sending multicast and broadcast traffic, on a given Ethernet tag on
a particular Ethernet segment, to the CE.
- Flooding unknown unicast traffic (i.e., traffic for which a PE does
not know the destination MAC address), on a given Ethernet tag on a
particular Ethernet segment to the CE, if the environment requires
flooding of unknown unicast traffic.
Note that this behavior, which allows selecting a DF at the
granularity of <ES, VLAN> or <ES, VLAN bundle> for multicast,
broadcast, and unknown unicast traffic, is the default behavior in
this specification.
Note that a CE always sends packets belonging to a specific flow
using a single link towards a PE. For instance, if the CE is a host,
then, as mentioned earlier, the host treats the multiple links that
it uses to reach the PEs as a Link Aggregation Group (LAG). The CE
employs a local hashing function to map traffic flows onto links in
the LAG.
If a bridged network is multihomed to more than one PE in an EVPN
network via switches, then the support of All-Active redundancy mode
requires the bridged network to be connected to two or more PEs using
a LAG.
If a bridged network does not connect to the PEs using a LAG, then
only one of the links between the bridged network and the PEs must be
the active link for a given <ES, VLAN> or <ES, VLAN bundle>. In this
case, the set of Ethernet A-D per ES routes advertised by each PE
MUST have the "Single-Active" bit in the flags of the ESI Label
extended community set to 1.
The default procedure for DF election at the granularity of <ES,
VLAN> for VLAN-based service or <ES, VLAN bundle> for VLAN-(aware)
bundle service is referred to as "service carving". With service
carving, it is possible to elect multiple DFs per Ethernet segment
(one per VLAN or VLAN bundle) in order to perform load balancing of
multi-destination traffic destined to a given segment. The load-
balancing procedures carve up the VLAN space per ES among the PE
Sajassi, et al. Standards Track [Page 27]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
nodes evenly, in such a way that every PE is the DF for a disjoint
set of VLANs or VLAN bundles for that ES. The procedure for service
carving is as follows:
1. When a PE discovers the ESI of the attached Ethernet segment, it
advertises an Ethernet Segment route with the associated ES-Import
extended community attribute.
2. The PE then starts a timer (default value = 3 seconds) to allow
the reception of Ethernet Segment routes from other PE nodes
connected to the same Ethernet segment. This timer value should
be the same across all PEs connected to the same Ethernet segment.
3. When the timer expires, each PE builds an ordered list of the IP
addresses of all the PE nodes connected to the Ethernet segment
(including itself), in increasing numeric value. Each IP address
in this list is extracted from the "Originating Router's IP
address" field of the advertised Ethernet Segment route. Every PE
is then given an ordinal indicating its position in the ordered
list, starting with 0 as the ordinal for the PE with the
numerically lowest IP address. The ordinals are used to determine
which PE node will be the DF for a given EVPN instance on the
Ethernet segment, using the following rule:
Assuming a redundancy group of N PE nodes, for VLAN-based service,
the PE with ordinal i is the DF for an <ES, VLAN V> when (V mod N)
= i. In the case of VLAN-(aware) bundle service, then the
numerically lowest VLAN value in that bundle on that ES MUST be
used in the modulo function.
It should be noted that using the "Originating Router's IP
address" field in the Ethernet Segment route to get the PE IP
address needed for the ordered list allows for a CE to be
multihomed across different ASes if such a need ever arises.
4. The PE that is elected as a DF for a given <ES, VLAN> or <ES, VLAN
bundle> will unblock multi-destination traffic for that VLAN or
VLAN bundle on the corresponding ES. Note that the DF PE unblocks
multi-destination traffic in the egress direction towards the
segment. All non-DF PEs continue to drop multi-destination
traffic in the egress direction towards that <ES, VLAN> or <ES,
VLAN bundle>.
In the case of link or port failure, the affected PE withdraws its
Ethernet Segment route. This will re-trigger the service carving
procedures on all the PEs in the redundancy group. For PE node
failure, or upon PE commissioning or decommissioning, the PEs
re-trigger the service carving. In the case of Single-Active
Sajassi, et al. Standards Track [Page 28]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
multihoming, when a service moves from one PE in the redundancy
group to another PE as a result of re-carving, the PE, which ends
up being the elected DF for the service, SHOULD trigger a MAC
address flush notification towards the associated Ethernet
segment. This can be done, for example, using the IEEE 802.1ak
Multiple VLAN Registration Protocol (MVRP) 'new' declaration.
8.6. Interoperability with Single-Homing PEs
Let's refer to PEs that only support single-homed CE devices as
single-homing PEs. For single-homing PEs, all the above multihoming
procedures can be omitted; however, to allow for single-homing PEs
to fully interoperate with multihoming PEs, some of the multihoming
procedures described above SHOULD be supported even by single-
homing PEs:
- procedures related to processing Ethernet A-D routes for the
purpose of fast convergence (Section 8.2 ("Fast Convergence")), to
let single-homing PEs benefit from fast convergence
- procedures related to processing Ethernet A-D routes for the
purpose of aliasing (Section 8.4 ("Aliasing and Backup Path")), to
let single-homing PEs benefit from load balancing
- procedures related to processing Ethernet A-D routes for the
purpose of a backup path (Section 8.4 ("Aliasing and Backup
Path")), to let single-homing PEs benefit from the corresponding
convergence improvement
Sajassi, et al. Standards Track [Page 29]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
9. Determining Reachability to Unicast MAC Addresses
PEs forward packets that they receive based on the destination MAC
address. This implies that PEs must be able to learn how to reach a
given destination unicast MAC address.
There are two components to MAC address learning -- "local learning"
and "remote learning":
9.1. Local Learning
A particular PE must be able to learn the MAC addresses from the CEs
that are connected to it. This is referred to as local learning.
The PEs in a particular EVPN instance MUST support local data-plane
learning using standard IEEE Ethernet learning procedures. A PE must
be capable of learning MAC addresses in the data plane when it
receives packets such as the following from the CE network:
- DHCP requests
- An ARP Request for its own MAC
- An ARP Request for a peer
Alternatively, PEs MAY learn the MAC addresses of the CEs in the
control plane or via management-plane integration between the PEs and
the CEs.
There are applications where a MAC address that is reachable via a
given PE on a locally attached segment (e.g., with ESI X) may move,
such that it becomes reachable via another PE on another segment
(e.g., with ESI Y). This is referred to as "MAC Mobility".
Procedures to support this are described in Section 15 ("MAC
Mobility").
9.2. Remote Learning
A particular PE must be able to determine how to send traffic to MAC
addresses that belong to or are behind CEs connected to other PEs,
i.e., to remote CEs or hosts behind remote CEs. We call such MAC
addresses "remote" MAC addresses.
This document requires a PE to learn remote MAC addresses in the
control plane. In order to achieve this, each PE advertises the MAC
addresses it learns from its locally attached CEs in the control
plane, to all the other PEs in that EVPN instance, using MP-BGP and,
specifically, the MAC/IP Advertisement route.
Sajassi, et al. Standards Track [Page 30]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
9.2.1. Constructing MAC/IP Address Advertisement
BGP is extended to advertise these MAC addresses using the MAC/IP
Advertisement route type in the EVPN NLRI.
The RD MUST be set per Section 7.9.
The Ethernet Segment Identifier is set to the 10-octet ESI described
in Section 5 ("Ethernet Segment").
The Ethernet Tag ID may be zero or may represent a valid Ethernet
Tag ID. This field may be non-zero when there are multiple bridge
tables in the MAC-VRF (i.e., the PE needs to support VLAN-aware
bundle service for that EVI).
When the Ethernet Tag ID in the NLRI is set to a non-zero value for a
particular broadcast domain, then this Ethernet Tag ID may be either
the CE's Ethernet tag value (e.g., CE VLAN ID) or the EVPN provider's
Ethernet tag value (e.g., provider VLAN ID). The latter would be the
case if the CE Ethernet tags (e.g., CE VLAN ID) for a particular
broadcast domain are different on different CEs.
The MAC Address Length field is in bits, and it is set to 48. MAC
address length values other than 48 bits are outside the scope of
this document. The encoding of a MAC address MUST be the 6-octet MAC
address specified by [802.1Q] and [802.1D-REV].
The IP Address field is optional. By default, the IP Address Length
field is set to 0, and the IP Address field is omitted from the
route. When a valid IP address needs to be advertised, it is then
encoded in this route. When an IP address is present, the IP Address
Length field is in bits, and it is set to 32 or 128 bits. Other IP
Address Length values are outside the scope of this document. The
encoding of an IP address MUST be either 4 octets for IPv4 or
16 octets for IPv6. The Length field of the EVPN NLRI (which is in
octets and is described in Section 7) is sufficient to determine
whether an IP address is encoded in this route and, if so, whether
the encoded IP address is IPv4 or IPv6.
The MPLS Label1 field is encoded as 3 octets, where the high-order
20 bits contain the label value. The MPLS Label1 MUST be downstream
assigned, and it is associated with the MAC address being advertised
by the advertising PE. The advertising PE uses this label when it
receives an MPLS-encapsulated packet to perform forwarding based on
the destination MAC address toward the CE. The forwarding procedures
are specified in Sections 13 and 14.
Sajassi, et al. Standards Track [Page 31]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
A PE may advertise the same single EVPN label for all MAC addresses
in a given MAC-VRF. This label assignment is referred to as a per
MAC-VRF label assignment. Alternatively, a PE may advertise a unique
EVPN label per <MAC-VRF, Ethernet tag> combination. This label
assignment is referred to as a per <MAC-VRF, Ethernet tag> label
assignment. As a third option, a PE may advertise a unique EVPN
label per <ESI, Ethernet tag> combination. This label assignment is
referred to as a per <ESI, Ethernet tag> label assignment. As a
fourth option, a PE may advertise a unique EVPN label per MAC
address. This label assignment is referred to as a per MAC label
assignment. All of these label assignment methods have their
trade-offs. The choice of a particular label assignment methodology
is purely local to the PE that originates the route.
An assignment per MAC-VRF label requires the least number of EVPN
labels but requires a MAC lookup in addition to an MPLS lookup on an
egress PE for forwarding. On the other hand, a unique label per
<ESI, Ethernet tag> or a unique label per MAC allows an egress PE to
forward a packet that it receives from another PE, to the connected
CE, after looking up only the MPLS labels without having to perform a
MAC lookup. This includes the capability to perform appropriate VLAN
ID translation on egress to the CE.
The MPLS Label2 field is an optional field. If it is present, then
it is encoded as 3 octets, where the high-order 20 bits contain the
label value.
The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
be set to the IPv4 or IPv6 address of the advertising PE.
The BGP advertisement for the MAC/IP Advertisement route MUST also
carry one or more Route Target (RT) attributes. RTs may be
configured (as in IP VPNs) or may be derived automatically from the
Ethernet Tag ID, in the Unique VLAN case, as described in
Section 7.10.1.
It is to be noted that this document does not require PEs to create
forwarding state for remote MACs when they are learned in the control
plane. When this forwarding state is actually created is a local
implementation matter.
9.2.2. Route Resolution
If the Ethernet Segment Identifier field in a received MAC/IP
Advertisement route is set to the reserved ESI value of 0 or MAX-ESI,
then if the receiving PE decides to install forwarding state for the
associated MAC address, it MUST be based on the MAC/IP Advertisement
route alone.
Sajassi, et al. Standards Track [Page 32]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
If the Ethernet Segment Identifier field in a received MAC/IP
Advertisement route is set to a non-reserved ESI, and the receiving
PE is locally attached to the same ESI, then the PE does not alter
its forwarding state based on the received route. This ensures that
local routes are preferred to remote routes.
If the Ethernet Segment Identifier field in a received MAC/IP
Advertisement route is set to a non-reserved ESI, then if the
receiving PE decides to install forwarding state for the associated
MAC address, it MUST be when both the MAC/IP Advertisement route AND
the associated set of Ethernet A-D per ES routes have been received.
The dependency of MAC route installation on Ethernet A-D per ES
routes is to ensure that MAC routes don't get accidentally installed
during a mass withdraw period.
To illustrate this with an example, consider two PEs (PE1 and PE2)
connected to a multihomed Ethernet segment ES1. All-Active
redundancy mode is assumed. A given MAC address M1 is learned by PE1
but not PE2. On PE3, the following states may arise:
T1 When the MAC/IP Advertisement route from PE1 and the set of
Ethernet A-D per ES routes and Ethernet A-D per EVI routes from
PE1 and PE2 are received, PE3 can forward traffic destined to
M1 to both PE1 and PE2.
T2 If after T1 PE1 withdraws its set of Ethernet A-D per ES
routes, then PE3 forwards traffic destined to M1 to PE2 only.
T2' If after T1 PE2 withdraws its set of Ethernet A-D per ES
routes, then PE3 forwards traffic destined to M1 to PE1 only.
T2'' If after T1 PE1 withdraws its MAC/IP Advertisement route, then
PE3 treats traffic to M1 as unknown unicast.
T3 PE2 also advertises a MAC route for M1, and then PE1 withdraws
its MAC route for M1. PE3 continues forwarding traffic
destined to M1 to both PE1 and PE2. In other words, despite M1
withdrawal by PE1, PE3 forwards the traffic destined to M1 to
both PE1 and PE2. This is because a flow from the CE,
resulting in M1 traffic getting hashed to PE1, can get
terminated, resulting in M1 being aged out in PE1; however, M1
can be reachable by both PE1 and PE2.
10. ARP and ND
The IP Address field in the MAC/IP Advertisement route may optionally
carry one of the IP addresses associated with the MAC address. This
provides an option that can be used to minimize the flooding of ARP
Sajassi, et al. Standards Track [Page 33]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
or Neighbor Discovery (ND) messages over the MPLS network and to
remote CEs. This option also minimizes ARP (or ND) message
processing on end-stations/hosts connected to the EVPN network. A PE
may learn the IP address associated with a MAC address in the control
or management plane between the CE and the PE. Or, it may learn this
binding by snooping certain messages to or from a CE. When a PE
learns the IP address associated with a MAC address of a locally
connected CE, it may advertise this address to other PEs by including
it in the MAC/IP Advertisement route. The IP address may be an IPv4
address encoded using 4 octets or an IPv6 address encoded using
16 octets. For ARP and ND purposes, the IP Address Length field MUST
be set to 32 for an IPv4 address or 128 for an IPv6 address.
If there are multiple IP addresses associated with a MAC address,
then multiple MAC/IP Advertisement routes MUST be generated, one for
each IP address. For instance, this may be the case when there are
both an IPv4 and an IPv6 address associated with the same MAC address
for dual-IP-stack scenarios. When the IP address is dissociated with
the MAC address, then the MAC/IP Advertisement route with that
particular IP address MUST be withdrawn.
Note that a MAC-only route can be advertised along with, but
independent from, a MAC/IP route for scenarios where the MAC learning
over an access network/node is done in the data plane and independent
from ARP snooping that generates a MAC/IP route. In such scenarios,
when the ARP entry times out and causes the MAC/IP to be withdrawn,
then the MAC information will not be lost. In scenarios where the
host MAC/IP is learned via the management or control plane, then the
sender PE may only generate and advertise the MAC/IP route. If the
receiving PE receives both the MAC-only route and the MAC/IP route,
then when it receives a withdraw message for the MAC/IP route, it
MUST delete the corresponding entry from the ARP table but not the
MAC entry from the MAC-VRF table, unless it receives a withdraw
message for the MAC-only route.
When a PE receives an ARP Request for an IP address from a CE, and if
the PE has the MAC address binding for that IP address, the PE SHOULD
perform ARP proxy by responding to the ARP Request.
10.1. Default Gateway
When a PE needs to perform inter-subnet forwarding where each subnet
is represented by a different broadcast domain (e.g., a different
VLAN), the inter-subnet forwarding is performed at Layer 3, and the
PE that performs such a function is called the default gateway for
the EVPN instance. In this case, when the PE receives an ARP Request
for the IP address configured as the default gateway address, the PE
originates an ARP Reply.
Sajassi, et al. Standards Track [Page 34]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
Each PE that acts as a default gateway for a given EVPN instance MAY
advertise in the EVPN control plane its default gateway MAC address
using the MAC/IP Advertisement route, and each such PE indicates that
such a route is associated with the default gateway. This is
accomplished by requiring the route to carry the Default Gateway
extended community defined in Section 7.8 ("Default Gateway Extended
Community"). The ESI field is set to zero when advertising the MAC
route with the Default Gateway extended community.
The IP Address field of the MAC/IP Advertisement route is set to the
default gateway IP address for that subnet (e.g., an EVPN instance).
For a given subnet (e.g., a VLAN or EVPN instance), the default
gateway IP address is the same across all the participant PEs. The
inclusion of this IP address enables the receiving PE to check its
configured default gateway IP address against the one received in the
MAC/IP Advertisement route for that subnet (or EVPN instance), and if
there is a discrepancy, then the PE SHOULD notify the operator and
log an error message.
Unless it is known a priori (by means outside of this document) that
all PEs of a given EVPN instance act as a default gateway for that
EVPN instance, the MPLS label MUST be set to a valid downstream
assigned label.
Furthermore, even if all PEs of a given EVPN instance do act as a
default gateway for that EVPN instance, but only some, but not all,
of these PEs have sufficient (routing) information to provide
inter-subnet routing for all the inter-subnet traffic originated
within the subnet associated with the EVPN instance, then when such a
PE advertises in the EVPN control plane its default gateway MAC
address using the MAC/IP Advertisement route and indicates that such
a route is associated with the default gateway, the route MUST carry
a valid downstream assigned label.
If all PEs of a given EVPN instance act as a default gateway for that
EVPN instance, and the same default gateway MAC address is used
across all gateway devices, then no such advertisement is needed.
However, if each default gateway uses a different MAC address, then
each default gateway needs to be aware of other gateways' MAC
addresses and thus the need for such an advertisement. This is
called MAC address aliasing, since a single default gateway can be
represented by multiple MAC addresses.
Each PE that receives this route and imports it as per procedures
specified in this document follows the procedures in this section
when replying to ARP Requests that it receives.
Sajassi, et al. Standards Track [Page 35]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
Each PE that acts as a default gateway for a given EVPN instance that
receives this route and imports it as per procedures specified in
this document MUST create MAC forwarding state that enables it to
apply IP forwarding to the packets destined to the MAC address
carried in the route.
11. Handling of Multi-destination Traffic
Procedures are required for a given PE to send broadcast or multicast
traffic received from a CE encapsulated in a given Ethernet tag
(VLAN) in an EVPN instance to all the other PEs that span that
Ethernet tag (VLAN) in that EVPN instance. In certain scenarios, as
described in Section 12 ("Processing of Unknown Unicast Packets"), a
given PE may also need to flood unknown unicast traffic to other PEs.
The PEs in a particular EVPN instance may use ingress replication,
P2MP LSPs, or MP2MP LSPs to send unknown unicast, broadcast, or
multicast traffic to other PEs.
Each PE MUST advertise an "Inclusive Multicast Ethernet Tag route" to
enable the above. The following subsection provides the procedures
to construct the Inclusive Multicast Ethernet Tag route. Subsequent
subsections describe its usage in further detail.
11.1. Constructing Inclusive Multicast Ethernet Tag Route
The RD MUST be set per Section 7.9.
The Ethernet Tag ID is the identifier of the Ethernet tag. It may be
set to 0 or to a valid Ethernet tag value.
The Originating Router's IP Address field value MUST be set to an IP
address of the PE that should be common for all the EVIs on the PE
(e.g., this address may be the PE's loopback address). The IP
Address Length field is in bits.
The Next Hop field of the MP_REACH_NLRI attribute of the route MUST
be set to the IPv4 or IPv6 address of the advertising PE.
The BGP advertisement for the Inclusive Multicast Ethernet Tag route
MUST also carry one or more Route Target (RT) attributes. The
assignment of RTs as described in Section 7.10 MUST be followed.
Sajassi, et al. Standards Track [Page 36]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
11.2. P-Tunnel Identification
In order to identify the P-tunnel used for sending broadcast, unknown
unicast, or multicast traffic, the Inclusive Multicast Ethernet Tag
route MUST carry a Provider Multicast Service Interface (PMSI) Tunnel
attribute as specified in [RFC6514].
Depending on the technology used for the P-tunnel for the EVPN
instance on the PE, the PMSI Tunnel attribute of the Inclusive
Multicast Ethernet Tag route is constructed as follows.
+ If the PE that originates the advertisement uses a P-multicast tree
for the P-tunnel for EVPN, the PMSI Tunnel attribute MUST contain
the identity of the tree (note that the PE could create the
identity of the tree prior to the actual instantiation of the
tree).
+ A PE that uses a P-multicast tree for the P-tunnel MAY aggregate
two or more EVPN instances (EVIs) present on the PE onto the same
tree. In this case, in addition to carrying the identity of the
tree, the PMSI Tunnel attribute MUST carry an MPLS upstream
assigned label, which the PE has bound uniquely to the EVI
associated with this update (as determined by its RTs).
If the PE has already advertised Inclusive Multicast Ethernet Tag
routes for two or more EVIs that it now desires to aggregate, then
the PE MUST re-advertise those routes. The re-advertised routes
MUST be the same as the original ones, except for the PMSI Tunnel
attribute and the label carried in that attribute.
+ If the PE that originates the advertisement uses ingress
replication for the P-tunnel for EVPN, the route MUST include the
PMSI Tunnel attribute with the Tunnel Type set to Ingress
Replication and the Tunnel Identifier set to a routable address of
the PE. The PMSI Tunnel attribute MUST carry a downstream assigned
MPLS label. This label is used to demultiplex the broadcast,
multicast, or unknown unicast EVPN traffic received over an MP2P
tunnel by the PE.
+ The Leaf Information Required flag of the PMSI Tunnel attribute
MUST be set to zero and MUST be ignored on receipt.
Sajassi, et al. Standards Track [Page 37]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
12. Processing of Unknown Unicast Packets
The procedures in this document do not require the PEs to flood
unknown unicast traffic to other PEs. If PEs learn CE MAC addresses
via a control-plane protocol, the PEs can then distribute MAC
addresses via BGP, and all unicast MAC addresses will be learned
prior to traffic to those destinations.
However, if a destination MAC address of a received packet is not
known by the PE, the PE may have to flood the packet. When flooding,
one must take into account "split-horizon forwarding" as follows: The
principles behind the following procedures are borrowed from the
split-horizon forwarding rules in VPLS solutions [RFC4761] [RFC4762].
When a PE capable of flooding (say PEx) receives an unknown
destination MAC address, it floods the frame. If the frame arrived
from an attached CE, PEx must send a copy of that frame on every
Ethernet segment (belonging to that EVI) for which it is the DF,
other than the Ethernet segment on which it received the frame. In
addition, the PE must flood the frame to all other PEs participating
in that EVPN instance. If, on the other hand, the frame arrived from
another PE (say PEy), PEx must send a copy of the packet on each
Ethernet segment (belonging to that EVI) for which it is the DF. PEx
MUST NOT send the frame to other PEs, since PEy would have already
done so. Split-horizon forwarding rules apply to unknown MAC
addresses.
Whether or not to flood packets to unknown destination MAC addresses
should be an administrative choice, depending on how learning happens
between CEs and PEs.
The PEs in a particular EVPN instance may use ingress replication
using RSVP-TE P2P LSPs or LDP MP2P LSPs for sending unknown unicast
traffic to other PEs. Or, they may use RSVP-TE P2MP or LDP P2MP for
sending such traffic to other PEs.
12.1. Ingress Replication
If ingress replication is in use, the P-tunnel attribute, carried in
the Inclusive Multicast Ethernet Tag routes for the EVPN instance,
specifies the downstream label that the other PEs can use to send
unknown unicast, multicast, or broadcast traffic for that EVPN
instance to this particular PE.
The PE that receives a packet with this particular MPLS label MUST
treat the packet as a broadcast, multicast, or unknown unicast
packet. Further, if the MAC address is a unicast MAC address, the PE
MUST treat the packet as an unknown unicast packet.
Sajassi, et al. Standards Track [Page 38]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
12.2. P2MP MPLS LSPs
The procedures for using P2MP LSPs are very similar to the VPLS
procedures described in [RFC7117]. The P-tunnel attribute used by a
PE for sending unknown unicast, broadcast, or multicast traffic for a
particular EVPN instance is advertised in the Inclusive Multicast
Ethernet Tag route as described in Section 11 ("Handling of
Multi-destination Traffic").
The P-tunnel attribute specifies the P2MP LSP identifier. This is
the equivalent of an Inclusive tree as described in [RFC7117]. Note
that multiple Ethernet tags, which may be in different EVPN
instances, may use the same P2MP LSP, using upstream labels
[RFC7117]. This is the equivalent of an Aggregate Inclusive tree
[RFC7117]. When P2MP LSPs are used for flooding unknown unicast
traffic, packet reordering is possible.
The PE that receives a packet on the P2MP LSP specified in the PMSI
Tunnel attribute MUST treat the packet as a broadcast, multicast, or
unknown unicast packet. Further, if the MAC address is a unicast MAC
address, the PE MUST treat the packet as an unknown unicast packet.
13. Forwarding Unicast Packets
This section describes procedures for forwarding unicast packets by
PEs, where such packets are received from either directly connected
CEs or some other PEs.
13.1. Forwarding Packets Received from a CE
When a PE receives a packet from a CE, on a given Ethernet Tag ID, it
must first look up the source MAC address of the packet. In certain
environments that enable MAC security, the source MAC address MAY be
used to validate the host identity and determine that traffic from
the host can be allowed into the network. Source MAC lookup MAY also
be used for local MAC address learning.
If the PE decides to forward the packet, the destination MAC address
of the packet must be looked up. If the PE has received MAC address
advertisements for this destination MAC address from one or more
other PEs or has learned it from locally connected CEs, the MAC
address is considered a known MAC address. Otherwise, it is
considered an unknown MAC address.
Sajassi, et al. Standards Track [Page 39]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
For known MAC addresses, the PE forwards this packet to one of the
remote PEs or to a locally attached CE. When forwarding to a remote
PE, the packet is encapsulated in the EVPN MPLS label advertised by
the remote PE, for that MAC address, and in the MPLS LSP label stack
to reach the remote PE.
If the MAC address is unknown and if the administrative policy on the
PE requires flooding of unknown unicast traffic, then:
- The PE MUST flood the packet to other PEs. The PE MUST first
encapsulate the packet in the ESI MPLS label as described in
Section 8.3. If ingress replication is used, the packet MUST be
replicated to each remote PE, with the VPN label being an MPLS
label determined as follows: This is the MPLS label advertised by
the remote PE in a PMSI Tunnel attribute in the Inclusive Multicast
Ethernet Tag route for a <MAC-VRF> or <MAC-VRF, Ethernet tag>
combination.
The Ethernet tag in the route may be the same as the Ethernet tag
associated with the interface on which the ingress PE receives the
packet. If P2MP LSPs are being used, the packet MUST be sent on
the P2MP LSP of which the PE is the root, for the Ethernet tag in
the EVPN instance. If the same P2MP LSP is used for all Ethernet
tags, then all the PEs in the EVPN instance MUST be the leaves of
the P2MP LSP. If a distinct P2MP LSP is used for a given Ethernet
tag in the EVPN instance, then only the PEs in the Ethernet tag
MUST be the leaves of the P2MP LSP. The packet MUST be
encapsulated in the P2MP LSP label stack.
If the MAC address is unknown, then, if the administrative policy on
the PE does not allow flooding of unknown unicast traffic:
- the PE MUST drop the packet.
Sajassi, et al. Standards Track [Page 40]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
13.2. Forwarding Packets Received from a Remote PE
This section describes the procedures for forwarding known and
unknown unicast packets received from a remote PE.
13.2.1. Unknown Unicast Forwarding
When a PE receives an MPLS packet from a remote PE, then, after
processing the MPLS label stack, if the top MPLS label ends up being
a P2MP LSP label associated with an EVPN instance or -- in the case
of ingress replication -- the downstream label advertised in the
P-tunnel attribute, and after performing the split-horizon procedures
described in Section 8.3:
- If the PE is the designated forwarder of BUM traffic on a
particular set of ESIs for the Ethernet tag, the default behavior
is for the PE to flood the packet on these ESIs. In other words,
the default behavior is for the PE to assume that for BUM traffic
it is not required to perform a destination MAC address lookup. As
an option, the PE may perform a destination MAC lookup to flood the
packet to only a subset of the CE interfaces in the Ethernet tag.
For instance, the PE may decide to not flood a BUM packet on
certain Ethernet segments even if it is the DF on the Ethernet
segment, based on administrative policy.
- If the PE is not the designated forwarder on any of the ESIs for
the Ethernet tag, the default behavior is for it to drop the
packet.
13.2.2. Known Unicast Forwarding
If the top MPLS label ends up being an EVPN label that was advertised
in the unicast MAC advertisements, then the PE either forwards the
packet based on CE next-hop forwarding information associated with
the label or does a destination MAC address lookup to forward the
packet to a CE.
14. Load Balancing of Unicast Packets
This section specifies the load-balancing procedures for sending
known unicast packets to a multihomed CE.
14.1. Load Balancing of Traffic from a PE to Remote CEs
Whenever a remote PE imports a MAC/IP Advertisement route for a given
<ESI, Ethernet tag> in a MAC-VRF, it MUST examine all imported
Ethernet A-D routes for that ESI in order to determine the load-
balancing characteristics of the Ethernet segment.
Sajassi, et al. Standards Track [Page 41]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
14.1.1. Single-Active Redundancy Mode
For a given ES, if the remote PE has imported the set of Ethernet A-D
per ES routes from at least one PE, where the "Single-Active" flag in
the ESI Label extended community is set, then the remote PE MUST
deduce that the ES is operating in Single-Active redundancy mode. As
such, the MAC address will be reachable only via the PE announcing
the associated MAC/IP Advertisement route -- this is referred to as
the primary PE. The other PEs advertising the set of Ethernet A-D
per ES routes for the same ES provide backup paths for that ES, in
case the primary PE encounters a failure, and are referred to as
backup PEs. It should be noted that the primary PE for a given <ES,
VLAN> (or <ES, VLAN bundle>) is the DF for that <ES, VLAN> (or <ES,
VLAN bundle>).
If the primary PE encounters a failure, it MAY withdraw its set of
Ethernet A-D per ES routes for the affected ES prior to withdrawing
its set of MAC/IP Advertisement routes.
If there is only one backup PE for a given ES, the remote PE MAY use
the primary PE's withdrawal of its set of Ethernet A-D per ES routes
as a trigger to update its forwarding entries, for the associated MAC
addresses, to point towards the backup PE. As the backup PE starts
learning the MAC addresses over its attached ES, it will start
sending MAC/IP Advertisement routes while the failed PE withdraws its
routes. This mechanism minimizes the flooding of traffic during
fail-over events.
If there is more than one backup PE for a given ES, the remote PE
MUST use the primary PE's withdrawal of its set of Ethernet A-D per
ES routes as a trigger to start flooding traffic for the associated
MAC addresses (as long as flooding of unknown unicast packets is
administratively allowed), as it is not possible to select a single
backup PE.
14.1.2. All-Active Redundancy Mode
For a given ES, if the remote PE has imported the set of Ethernet A-D
per ES routes from one or more PEs and none of them have the
"Single-Active" flag in the ESI Label extended community set, then
the remote PE MUST deduce that the ES is operating in All-Active
redundancy mode. A remote PE that receives a MAC/IP Advertisement
route with a non-reserved ESI SHOULD consider the advertised MAC
address to be reachable via all PEs that have advertised reachability
to that MAC address's EVI/ES via the combination of an Ethernet A-D
per EVI route for that EVI/ES (and Ethernet tag, if applicable) AND
an Ethernet A-D per ES route for that ES. The remote PE MUST use
Sajassi, et al. Standards Track [Page 42]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
received MAC/IP Advertisement routes and Ethernet A-D per EVI/per ES
routes to construct the set of next hops for the advertised MAC
address.
Each next hop comprises an MPLS label stack that is to be used by the
egress PE to forward the packet. This label stack is determined as
follows:
- If the next hop is constructed as a result of a MAC route, then
this label stack MUST be used. However, if the MAC route doesn't
exist for that PE, then the next hop and the MPLS label stack are
constructed as a result of the Ethernet A-D routes. Note that the
following description applies to determining the label stack for a
particular next hop to reach a given PE, from which the remote PE
has received and imported Ethernet A-D routes that have the same
ESI and Ethernet tag as the ones present in the MAC advertisement.
The Ethernet A-D routes mentioned in the following description
refer to the ones imported from this given PE.
- If a set of Ethernet A-D per ES routes for that ES AND an Ethernet
A-D route per EVI exist, only then must the label from that latter
route be used.
The following example explains the above.
Consider a CE (CE1) that is dual-homed to two PEs (PE1 and PE2) on a
LAG interface (ES1), and is sending packets with source MAC address
MAC1 on VLAN1 (mapped to EVI1). A remote PE, say PE3, is able to
learn that MAC1 is reachable via PE1 and PE2. Both PE1 and PE2 may
advertise MAC1 in BGP if they receive packets with MAC1 from CE1. If
this is not the case, and if MAC1 is advertised only by PE1, PE3
still considers MAC1 as reachable via both PE1 and PE2, as both PE1
and PE2 advertise a set of Ethernet A-D per ES routes for ES1 as well
as an Ethernet A-D per EVI route for <EVI1, ES1>.
The MPLS label stack to send the packets to PE1 is the MPLS LSP stack
to get to PE1 (at the top of the stack) followed by the EVPN label
advertised by PE1 for CE1's MAC.
The MPLS label stack to send packets to PE2 is the MPLS LSP stack to
get to PE2 (at the top of the stack) followed by the MPLS label in
the Ethernet A-D route advertised by PE2 for <ES1, VLAN1>, if PE2 has
not advertised MAC1 in BGP.
We will refer to these label stacks as MPLS next hops.
Sajassi, et al. Standards Track [Page 43]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
The remote PE (PE3) can now load balance the traffic it receives from
its CEs, destined for CE1, between PE1 and PE2. PE3 may use N-tuple
flow information to hash traffic into one of the MPLS next hops for
load balancing of IP traffic. Alternatively, PE3 may rely on the
source MAC addresses for load balancing.
Note that once PE3 decides to send a particular packet to PE1 or PE2,
it can pick one out of multiple possible paths to reach the
particular remote PE using regular MPLS procedures. For instance, if
the tunneling technology is based on RSVP-TE LSPs and PE3 decides to
send a particular packet to PE1, then PE3 can choose from multiple
RSVP-TE LSPs that have PE1 as their destination.
When PE1 or PE2 receives the packet destined for CE1 from PE3, if the
packet is a known unicast, it is forwarded to CE1. If it is a BUM
packet, then only one of PE1 or PE2 must forward the packet to the
CE. Whether PE1 or PE2 forwards this packet to the CE is determined
based on which of the two is the DF.
14.2. Load Balancing of Traffic between a PE and a Local CE
A CE may be configured with more than one interface connected to
different PEs or the same PE for load balancing, using a technology
such as a LAG. The PE(s) and the CE can load balance traffic onto
these interfaces using one of the following mechanisms.
14.2.1. Data-Plane Learning
Consider that the PEs perform data-plane learning for local MAC
addresses learned from local CEs. This enables the PE(s) to learn a
particular MAC address and associate it with one or more interfaces,
if the technology between the PE and the CE supports multipathing.
The PEs can now load balance traffic destined to that MAC address on
the multiple interfaces.
Whether the CE can load balance traffic that it generates on the
multiple interfaces is dependent on the CE implementation.
14.2.2. Control-Plane Learning
The CE can be a host that advertises the same MAC address using a
control protocol on all interfaces. This enables the PE(s) to learn
the host's MAC address and associate it with all interfaces. The PEs
can now load balance traffic destined to the host on all these
interfaces. The host can also load balance the traffic it generates
onto these interfaces, and the PE that receives the traffic employs
EVPN forwarding procedures to forward the traffic.
Sajassi, et al. Standards Track [Page 44]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
15. MAC Mobility
It is possible for a given host or end-station (as defined by its MAC
address) to move from one Ethernet segment to another; this is
referred to as 'MAC Mobility' or 'MAC move', and it is different from
the multihoming situation in which a given MAC address is reachable
via multiple PEs for the same Ethernet segment. In a MAC move, there
would be two sets of MAC/IP Advertisement routes -- one set with the
new Ethernet segment and one set with the previous Ethernet segment
-- and the MAC address would appear to be reachable via each of these
segments.
In order to allow all of the PEs in the EVPN instance to correctly
determine the current location of the MAC address, all advertisements
of it being reachable via the previous Ethernet segment MUST be
withdrawn by the PEs, for the previous Ethernet segment, that had
advertised it.
If local learning is performed using the data plane, these PEs will
not be able to detect that the MAC address has moved to another
Ethernet segment, and the receipt of MAC/IP Advertisement routes,
with the MAC Mobility extended community attribute, from other PEs
serves as the trigger for these PEs to withdraw their advertisements.
If local learning is performed using the control or management
planes, these interactions serve as the trigger for these PEs to
withdraw their advertisements.
In a situation where there are multiple moves of a given MAC,
possibly between the same two Ethernet segments, there may be
multiple withdrawals and re-advertisements. In order to ensure that
all PEs in the EVPN instance receive all of these correctly through
the intervening BGP infrastructure, introducing a sequence number
into the MAC Mobility extended community attribute is necessary.
In order to process mobility events correctly, an implementation MUST
handle scenarios in which sequence number wraparound occurs.
Every MAC mobility event for a given MAC address will contain a
sequence number that is set using the following rules:
- A PE advertising a MAC address for the first time advertises it
with no MAC Mobility extended community attribute.
- A PE detecting a locally attached MAC address for which it had
previously received a MAC/IP Advertisement route with a different
Ethernet segment identifier advertises the MAC address in a MAC/IP
Advertisement route tagged with a MAC Mobility extended community
attribute with a sequence number one greater than the sequence
Sajassi, et al. Standards Track [Page 45]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
number in the MAC Mobility extended community attribute of the
received MAC/IP Advertisement route. In the case of the first
mobility event for a given MAC address, where the received MAC/IP
Advertisement route does not carry a MAC Mobility extended
community attribute, the value of the sequence number in the
received route is assumed to be 0 for the purpose of this
processing.
- A PE detecting a locally attached MAC address for which it had
previously received a MAC/IP Advertisement route with the same
non-zero Ethernet segment identifier advertises it with:
1. no MAC Mobility extended community attribute, if the received
route did not carry said attribute.
2. a MAC Mobility extended community attribute with the sequence
number equal to the highest of the sequence number(s) in the
received MAC/IP Advertisement route(s), if the received route(s)
is (are) tagged with a MAC Mobility extended community
attribute.
- A PE detecting a locally attached MAC address for which it had
previously received a MAC/IP Advertisement route with the same zero
Ethernet segment identifier (single-homed scenarios) advertises it
with a MAC Mobility extended community attribute with the sequence
number set properly. In the case of single-homed scenarios, there
is no need for ESI comparison. ESI comparison is done for
multihoming in order to prevent false detection of MAC moves among
the PEs attached to the same multihomed site.
A PE receiving a MAC/IP Advertisement route for a MAC address with a
different Ethernet segment identifier and a higher sequence number
than that which it had previously advertised withdraws its MAC/IP
Advertisement route. If two (or more) PEs advertise the same MAC
address with the same sequence number but different Ethernet segment
identifiers, a PE that receives these routes selects the route
advertised by the PE with the lowest IP address as the best route.
If the PE is the originator of the MAC route and it receives the same
MAC address with the same sequence number that it generated, it will
compare its own IP address with the IP address of the remote PE and
will select the lowest IP. If its own route is not the best one, it
will withdraw the route.
Sajassi, et al. Standards Track [Page 46]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
15.1. MAC Duplication Issue
A situation may arise where the same MAC address is learned by
different PEs in the same VLAN because of two (or more) hosts being
misconfigured with the same (duplicate) MAC address. In such a
situation, the traffic originating from these hosts would trigger
continuous MAC moves among the PEs attached to these hosts. It is
important to recognize such a situation and avoid incrementing the
sequence number (in the MAC Mobility extended community attribute) to
infinity. In order to remedy such a situation, a PE that detects a
MAC mobility event via local learning starts an M-second timer (with
a default value of M = 180), and if it detects N MAC moves before the
timer expires (with a default value of N = 5), it concludes that a
duplicate-MAC situation has occurred. The PE MUST alert the operator
and stop sending and processing any BGP MAC/IP Advertisement routes
for that MAC address until a corrective action is taken by the
operator. The values of M and N MUST be configurable to allow for
flexibility in operator control. Note that the other PEs in the EVPN
instance will forward the traffic for the duplicate MAC address to
one of the PEs advertising the duplicate MAC address.
15.2. Sticky MAC Addresses
There are scenarios in which it is desired to configure some MAC
addresses as static so that they are not subjected to MAC moves. In
such scenarios, these MAC addresses are advertised with a MAC
Mobility extended community where the static flag is set to 1 and the
sequence number is set to zero. If a PE receives such advertisements
and later learns the same MAC address(es) via local learning, then
the PE MUST alert the operator.
16. Multicast and Broadcast
The PEs in a particular EVPN instance may use ingress replication or
P2MP LSPs to send multicast traffic to other PEs.
16.1. Ingress Replication
The PEs may use ingress replication for flooding BUM traffic as
described in Section 11 ("Handling of Multi-destination Traffic"). A
given broadcast packet must be sent to all the remote PEs. However,
a given multicast packet for a multicast flow may be sent to only a
subset of the PEs. Specifically, a given multicast flow may be sent
to only those PEs that have receivers that are interested in the
multicast flow. Determining which of the PEs have receivers for a
given multicast flow is done using explicit tracking per [RFC7117].
Sajassi, et al. Standards Track [Page 47]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
16.2. P2MP LSPs
A PE may use an "Inclusive" tree for sending a BUM packet. This
terminology is borrowed from [RFC7117].
A variety of transport technologies may be used in the service
provider (SP) network. For Inclusive P-multicast trees, these
transport technologies include point-to-multipoint LSPs created by
RSVP-TE or Multipoint LDP (mLDP).
16.2.1. Inclusive Trees
An Inclusive tree allows the use of a single multicast distribution
tree, referred to as an Inclusive P-multicast tree, in the SP network
to carry all the multicast traffic from a specified set of EVPN
instances on a given PE. A particular P-multicast tree can be set up
to carry the traffic originated by sites belonging to a single EVPN
instance, or to carry the traffic originated by sites belonging to
several EVPN instances. The ability to carry the traffic of more
than one EVPN instance on the same tree is termed 'Aggregation', and
the tree is called an Aggregate Inclusive P-multicast tree or
Aggregate Inclusive tree for short. The Aggregate Inclusive tree
needs to include every PE that is a member of any of the EVPN
instances that are using the tree. This implies that a PE may
receive BUM traffic even if it doesn't have any receivers that are
interested in receiving that traffic.
An Inclusive or Aggregate Inclusive tree as defined in this document
is a P2MP tree. A P2MP tree is used to carry traffic only for EVPN
CEs that are connected to the PE that is the root of the tree.
The procedures for signaling an Inclusive tree are the same as those
in [RFC7117], with the VPLS A-D route replaced with the Inclusive
Multicast Ethernet Tag route. The P-tunnel attribute [RFC7117] for
an Inclusive tree is advertised with the Inclusive Multicast Ethernet
Tag route as described in Section 11 ("Handling of Multi-destination
Traffic"). Note that for an Aggregate Inclusive tree, a PE can
"aggregate" multiple EVPN instances on the same P2MP LSP using
upstream labels. The procedures for aggregation are the same as
those described in [RFC7117], with VPLS A-D routes replaced by EVPN
Inclusive Multicast Ethernet Tag routes.
Sajassi, et al. Standards Track [Page 48]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
17. Convergence
This section describes failure recovery from different types of
network failures.
17.1. Transit Link and Node Failures between PEs
The use of existing MPLS fast-reroute mechanisms can provide failure
recovery on the order of 50 ms, in the event of transit link and node
failures in the infrastructure that connects the PEs.
17.2. PE Failures
Consider a host CE1 that is dual-homed to PE1 and PE2. If PE1 fails,
a remote PE, PE3, can discover this based on the failure of the BGP
session. This failure detection can be in the sub-second range if
Bidirectional Forwarding Detection (BFD) is used to detect BGP
session failures. PE3 can update its forwarding state to start
sending all traffic for CE1 to only PE2.
17.3. PE-to-CE Network Failures
If the connectivity between the multihomed CE and one of the PEs to
which it is attached fails, the PE MUST withdraw the set of Ethernet
A-D per ES routes that had been previously advertised for that ES.
This enables the remote PEs to remove the MPLS next hop to this
particular PE from the set of MPLS next hops that can be used to
forward traffic to the CE. When the MAC entry on the PE ages out,
the PE MUST withdraw the MAC address from BGP.
When an Ethernet tag is decommissioned on an Ethernet segment, then
the PE MUST withdraw the Ethernet A-D per EVI route(s) announced for
the <ESI, Ethernet tags> that are impacted by the decommissioning.
In addition, the PE MUST also withdraw the MAC/IP Advertisement
routes that are impacted by the decommissioning.
The Ethernet A-D per ES routes should be used by an implementation to
optimize the withdrawal of MAC/IP Advertisement routes. When a PE
receives a withdrawal of a particular Ethernet A-D route from an
advertising PE, it SHOULD consider all the MAC/IP Advertisement
routes that are learned from the same ESI as in the Ethernet A-D
route from the advertising PE as having been withdrawn. This
optimizes the network convergence times in the event of PE-to-CE
failures.
Sajassi, et al. Standards Track [Page 49]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
18. Frame Ordering
In a MAC address, if the value of the first nibble (bits 8 through 5)
of the most significant octet of the destination MAC address (which
follows the last MPLS label) happens to be 0x4 or 0x6, then the
Ethernet frame can be misinterpreted as an IPv4 or IPv6 packet by
intermediate P nodes performing ECMP based on deep packet inspection,
thus resulting in load balancing packets belonging to the same flow
on different ECMP paths and subjecting those packets to different
delays. Therefore, packets belonging to the same flow can arrive at
the destination out of order. This out-of-order delivery can happen
during steady state in the absence of any failures, resulting in
significant impact on network operations.
In order to avoid any such misordering, the following rules are
applied:
- If a network uses deep packet inspection for its ECMP, then the
"Preferred PW MPLS Control Word" [RFC4385] SHOULD be used with the
value 0 (e.g., a 4-octet field with a value of zero) when sending
EVPN-encapsulated packets over an MP2P LSP.
- If a network uses entropy labels [RFC6790], then the control word
SHOULD NOT be used when sending EVPN-encapsulated packets over an
MP2P LSP.
- When sending EVPN-encapsulated packets over a P2MP LSP or P2P LSP,
then the control word SHOULD NOT be used.
19. Security Considerations
Security considerations discussed in [RFC4761] and [RFC4762] apply to
this document for MAC learning in the data plane over an Attachment
Circuit (AC) and for flooding of unknown unicast and ARP messages
over the MPLS/IP core. Security considerations discussed in
[RFC4364] apply to this document for MAC learning in the control
plane over the MPLS/IP core. This section describes additional
considerations.
As mentioned in [RFC4761], there are two aspects to achieving data
privacy and protecting against denial-of-service attacks in a VPN:
securing the control plane and protecting the forwarding path.
Compromise of the control plane could result in a PE sending customer
data belonging to some EVPN to another EVPN, or black-holing EVPN
customer data, or even sending it to an eavesdropper, none of which
are acceptable from a data privacy point of view. In addition,
compromise of the control plane could provide opportunities for
Sajassi, et al. Standards Track [Page 50]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
unauthorized EVPN data usage (e.g., exploiting traffic replication
within a multicast tree to amplify a denial-of-service attack based
on sending large amounts of traffic).
The mechanisms in this document use BGP for the control plane.
Hence, techniques such as those discussed in [RFC5925] help
authenticate BGP messages, making it harder to spoof updates (which
can be used to divert EVPN traffic to the wrong EVPN instance) or
withdrawals (denial-of-service attacks). In the multi-AS backbone
options (b) and (c) [RFC4364], this also means protecting the
inter-AS BGP sessions between the Autonomous System Border Routers
(ASBRs), the PEs, or the Route Reflectors.
Further discussion of security considerations for BGP may be found in
the BGP specification itself [RFC4271] and in the security analysis
for BGP [RFC4272]. The original discussion of the use of the TCP MD5
signature option to protect BGP sessions is found in [RFC5925], while
[RFC6952] includes an analysis of BGP keying and authentication
issues.
Note that [RFC5925] will not help in keeping MPLS labels private --
knowing the labels, one can eavesdrop on EVPN traffic. Such
eavesdropping additionally requires access to the data path within an
SP network. Users of VPN services are expected to take appropriate
precautions (such as encryption) to protect the data exchanged over
a VPN.
One of the requirements for protecting the data plane is that the
MPLS labels be accepted only from valid interfaces. For a PE, valid
interfaces comprise links from other routers in the PE's own AS. For
an ASBR, valid interfaces comprise links from other routers in the
ASBR's own AS, and links from other ASBRs in ASes that have instances
of a given EVPN. It is especially important in the case of multi-AS
EVPN instances that one accept EVPN packets only from valid
interfaces.
It is also important to help limit malicious traffic into a network
for an impostor MAC address. The mechanism described in Section 15.1
shows how duplicate MAC addresses can be detected and continuous
false MAC mobility can be prevented. The mechanism described in
Section 15.2 shows how MAC addresses can be pinned to a given
Ethernet segment, such that if they appear behind any other Ethernet
segments, the traffic for those MAC addresses can be prevented from
entering the EVPN network from the other Ethernet segments.
Sajassi, et al. Standards Track [Page 51]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
20. IANA Considerations
This document defines a new NLRI, called "EVPN", to be carried in BGP
using multiprotocol extensions. This NLRI uses the existing AFI of
25 (L2VPN). IANA has assigned BGP EVPNs a SAFI value of 70.
IANA has allocated the following EVPN Extended Community sub-types in
[RFC7153], and this document is the only reference for them.
0x00 MAC Mobility [RFC7432]
0x01 ESI Label [RFC7432]
0x02 ES-Import Route Target [RFC7432]
This document creates a registry called "EVPN Route Types". New
registrations will be made through the "RFC Required" procedure
defined in [RFC5226]. The registry has a maximum value of 255.
Initial registrations are as follows:
0 Reserved [RFC7432]
1 Ethernet Auto-discovery [RFC7432]
2 MAC/IP Advertisement [RFC7432]
3 Inclusive Multicast Ethernet Tag [RFC7432]
4 Ethernet Segment [RFC7432]
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,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
January 2006, <http://www.rfc-editor.org/info/rfc4271>.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, February 2006,
<http://www.rfc-editor.org/info/rfc4360>.
[RFC4364] Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private
Networks (VPNs)", RFC 4364, February 2006,
<http://www.rfc-editor.org/info/rfc4364>.
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760,
January 2007, <http://www.rfc-editor.org/info/rfc4760>.
Sajassi, et al. Standards Track [Page 52]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
[RFC4761] Kompella, K., Ed., and Y. Rekhter, Ed., "Virtual Private
LAN Service (VPLS) Using BGP for Auto-Discovery and
Signaling", RFC 4761, January 2007,
<http://www.rfc-editor.org/info/rfc4761>.
[RFC4762] Lasserre, M., Ed., and V. Kompella, Ed., "Virtual Private
LAN Service (VPLS) Using Label Distribution Protocol (LDP)
Signaling", RFC 4762, January 2007,
<http://www.rfc-editor.org/info/rfc4762>.
[RFC7153] Rosen, E. and Y. Rekhter, "IANA Registries for BGP
Extended Communities", RFC 7153, March 2014,
<http://www.rfc-editor.org/info/rfc7153>.
21.2. Informative References
[802.1D-REV]
"IEEE Standard for Local and metropolitan area networks -
Media Access Control (MAC) Bridges", IEEE Std. 802.1D,
June 2004.
[802.1Q] "IEEE Standard for Local and metropolitan area networks -
Media Access Control (MAC) Bridges and Virtual Bridged
Local Area Networks", IEEE Std 802.1Q(tm), 2014 Edition,
November 2014.
[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis",
RFC 4272, January 2006,
<http://www.rfc-editor.org/info/rfc4272>.
[RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson,
"Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for
Use over an MPLS PSN", RFC 4385, February 2006,
<http://www.rfc-editor.org/info/rfc4385>.
[RFC4664] Andersson, L., Ed., and E. Rosen, Ed., "Framework for
Layer 2 Virtual Private Networks (L2VPNs)", RFC 4664,
September 2006, <http://www.rfc-editor.org/info/rfc4664>.
[RFC4684] Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk,
R., Patel, K., and J. Guichard, "Constrained Route
Distribution for Border Gateway Protocol/MultiProtocol
Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual
Private Networks (VPNs)", RFC 4684, November 2006,
<http://www.rfc-editor.org/info/rfc4684>.
Sajassi, et al. Standards Track [Page 53]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
May 2008, <http://www.rfc-editor.org/info/rfc5226>.
[RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP
Authentication Option", RFC 5925, June 2010,
<http://www.rfc-editor.org/info/rfc5925>.
[RFC6514] Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
Encodings and Procedures for Multicast in MPLS/BGP IP
VPNs", RFC 6514, February 2012,
<http://www.rfc-editor.org/info/rfc6514>.
[RFC6790] Kompella, K., Drake, J., Amante, S., Henderickx, W., and
L. Yong, "The Use of Entropy Labels in MPLS Forwarding",
RFC 6790, November 2012,
<http://www.rfc-editor.org/info/rfc6790>.
[RFC6952] Jethanandani, M., Patel, K., and L. Zheng, "Analysis of
BGP, LDP, PCEP, and MSDP Issues According to the Keying
and Authentication for Routing Protocols (KARP) Design
Guide", RFC 6952, May 2013,
<http://www.rfc-editor.org/info/rfc6952>.
[RFC7117] Aggarwal, R., Ed., Kamite, Y., Fang, L., Rekhter, Y., and
C. Kodeboniya, "Multicast in Virtual Private LAN Service
(VPLS)", RFC 7117, February 2014,
<http://www.rfc-editor.org/info/rfc7117>.
[RFC7209] Sajassi, A., Aggarwal, R., Uttaro, J., Bitar, N.,
Henderickx, W., and A. Isaac, "Requirements for Ethernet
VPN (EVPN)", RFC 7209, May 2014,
<http://www.rfc-editor.org/info/rfc7209>.
Sajassi, et al. Standards Track [Page 54]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
Acknowledgements
Special thanks to Yakov Rekhter for reviewing this document several
times and providing valuable comments, and for his very engaging
discussions on several topics of this document that helped shape this
document. We would also like to thank Pedro Marques, Kaushik Ghosh,
Nischal Sheth, Robert Raszuk, Amit Shukla, and Nadeem Mohammed for
discussions that helped shape this document. We would also like to
thank Han Nguyen for his comments and support of this work. We would
also like to thank Steve Kensil and Reshad Rahman for their reviews.
We would like to thank Jorge Rabadan for his contribution to
Section 5 of this document. We would like to thank Thomas Morin for
his review of this document and his contribution of Section 8.6.
Many thanks to Jakob Heitz for his help to improve several sections
of this document.
We would also like to thank Clarence Filsfils, Dennis Cai, Quaizar
Vohra, Kireeti Kompella, and Apurva Mehta for their contributions to
this document.
Last but not least, special thanks to Giles Heron (our WG chair) for
his detailed review of this document in preparation for WG Last Call
and for making many valuable suggestions.
Contributors
In addition to the authors listed on the front page, the following
co-authors have also contributed to this document:
Keyur Patel
Samer Salam
Sami Boutros
Cisco
Yakov Rekhter
Ravi Shekhar
Juniper Networks
Florin Balus
Nuage Networks
Sajassi, et al. Standards Track [Page 55]
^L
RFC 7432 BGP MPLS-Based Ethernet VPN February 2015
Authors' Addresses
Ali Sajassi (editor)
Cisco
EMail: sajassi@cisco.com
Rahul Aggarwal
Arktan
EMail: raggarwa_1@yahoo.com
Nabil Bitar
Verizon Communications
EMail : nabil.n.bitar@verizon.com
Aldrin Isaac
Bloomberg
EMail: aisaac71@bloomberg.net
James Uttaro
AT&T
EMail: uttaro@att.com
John Drake
Juniper Networks
EMail: jdrake@juniper.net
Wim Henderickx
Alcatel-Lucent
EMail: wim.henderickx@alcatel-lucent.com
Sajassi, et al. Standards Track [Page 56]
^L
|