В свете неизбежности принятия IPv6 на замену «устаревшему» коллеге возникает очень интересная тема IPv6 only MPLS сетей. Некоторые проблемы, которые могут появиться при их реализации, достаточно подробно описаны в документе RFC7439. Наиболее интересной представляется секция с приложениями: если с L2VPN всё понятно, то с L3VPN есть некоторая неясность. Вполне вероятен такой момент, что IPv4 останется в меньшинстве до тех пор, пока не канет в лету окончательно, но ровно до этого момента для него необходимо будет поддерживать связность. Если в текущих IPv4 сетях 6PE/6VPE себя отлично зарекомендовали, то с аналогами 4PE/4VPE исходя из RFC7439 не всё ясно: вроде бы и возможно, но где требуется — толком не описано как.
В RFC4760 (Sec. 3) явно указано: The Network Layer protocol associated with the Network Address of the Next Hop is identified by a combination of <AFI, SAFI> carried in the attribute. В 6PE/6VPE данная проблема «элегантно» решается копированием IPv4 next-hop адреса в специальный IPv6 адрес. По понятным причинам обратно такую процедуру провернуть уже не получится и требуется что-то полноценное взамен. В RFC5549 было предложено достаточно простое с точки зрения реализации решение: благодаря длине адреса атрибута next-hop можно заключить, какому семейству он принадлежит, то есть передавайте IPv4 префиксы с IPv6 next-hop адресом, только договоритесь заранее. Juniper, например, поддерживает RFC5549, есть документация по настройке 4PE. В сети так же можно найти презентацию ASM-IX, в которой они делятся тем, как им помог RFC5549.
IPv6 можно использовать в качестве data plane для Segment Routing, который активно развивается и предлагает очень много интересного. Уже существуют документы, позволяющие предоставлять BGP services с использованием SRv6 (draft-dawra-idr-srv6-vpn-05), есть и реализации в актуальном сетевом оборудовании, и презентации работы. С поддержкой L3VPN никаких проблем быть не должно, c L2VPN есть один интересный вопрос: какой номер протокола использовать для Ethernet, чтобы подставить в поле next header заголовка IPv6? В draft-filsfils-spring-srv6-network-programming-06 (Sec. 4.4) предлагается оригинальный способ использования номера 59, который RFC8200 (Sec. 4.7) описывает, как no next header. Возможно в будущем это упростит разбор пакета для сетевого оборудования с целью дальнейшей балансировки по избыточным путям, но это не точно.