Nexus VXLAN EVPN Multi-SiteでBGW(ボーダゲートウェイ)機能を確認

はじめに

VXLAN EVPN Multi-Siteでは、各サイトに置いたBorder Gateway(BGW)がVXLANを一度終端し、サイト間用に張り直すことで、ファブリックを分けたままL2・L3を延伸できます。本記事では、Nexus9000v(NX-OS 10.6(4))で2サイトのMulti-Siteを組み、サイト間のL2延伸、L3延伸、テナント間通信を実機で確認しました。

これまでのNexus・VXLAN関連の記事と同じく、アンダーレイはIPv6 eBGP Unnumberedです。今回はサイト内だけでなく、サイト間(DCI)もIPv6 eBGP Unnumberedで接続しています。

試験内容結果
試験1サイト1 CustomerA1 ⇔ サイト2 CustomerA2 のL2通信(同一セグメントを延伸)コントロールプレーンは正常。データプレーンはBGWでBUMが止まり疎通できず
※仮想環境問題と想定
試験2サイト1 CustomerB1 ⇔ サイト2 CustomerB2 のL3通信(同一L3VNI、サイトごとに別サブネット)想定どおり疎通
試験3サイト1 CustomerA1 ⇔ サイト2 CustomerB2 のテナント間L3通信RT importだけで想定どおり疎通

Tips! Border Gateway(BGW)とRoute Server(RS)の役割

BGW はサイトの出入口に置くVTEPです。サイト内のLeafから届いたVXLANを一度終端し、サイト間用にVXLANを張り直して対向サイトのBGWへ送ります。そのためサイト内のLeafは他サイトのLeafを直接知る必要がなく、「他サイトは自サイトのBGWの先にある」と見えます。

  • 制御プレーン: 他サイトへ渡すEVPN経路のネクストホップを自分のVIP(Multi-Site用のAnycastアドレス、今回はLoopback100)に、Router MACをBGWの仮想MACに書き換えて再広告(re-origination)します。RDも「サイトID:VNI」になります。
  • データプレーン: ユニキャストはVIP宛てに届き、同じサイトの複数BGW(Anycast BGW)で負荷分散します。BUMは各BGWの個別アドレス(PIP、今回はLoopback1)を使ったIngress Replicationで、L2VNIごとに選ばれたDesignated Forwarder(DF)のBGWだけが転送します。

RS はBGW同士のEVPN経路を中継する、eBGP版のルートリフレクタのようなものです。BGW間をフルメッシュで張らずに済み、データは通らず制御プレーンだけを担います。自分にはテナントVRFを持たないので、retain route-target all と、ネクストホップを変えない next-hop unchanged が必要です。役割としてはファブリック内のSpineとほぼ同じです。

参考: VXLAN EVPN Multi-Site Design and Deployment White Paper

検証構成

サイト1(BGW 2台)とサイト2(BGW 1台)を、DCI側のL3Rtrでつなぎ、EVPN経路はRoute Server(RS)経由でBGW同士が交換します。全機器のコンフィグは末尾のAppendixに掲載しています。

  • 機器: Nexus9000v(C9300v)、NX-OS 10.6(4)。ホストはCSR1000v
  • アンダーレイ: サイト内もDCIもIPv6 eBGP Unnumbered(リンクローカルのみ)。VTEPもIPv6
  • オーバーレイ: サイト内はSpine、サイト間はRSでBGP EVPNを中継(いずれも retain route-target all + next-hop unchanged)
  • RT: 65000:<VNI> のサービス統一フォーマット。eBGPファブリックでは機器ごとにASが異なるため route-target auto は使えず、その代わりMulti-Siteの rewrite-evpn-rt-asn も不要です
  • RD: rd auto

アンダーレイ

機器役割ASLoopback0Loopback1(PIP)Loopback100(VIP)
Spine1サイト1 Spine651012001:db8:100::101––
Leaf1サイト1 Leaf651022001:db8:100::102––
Leaf2サイト1 Leaf651032001:db8:100::103––
BGW1サイト1 BGW(site-id 1)651052001:db8:100::1052001:db8:100:1::1052001:db8:100::100
BGW2サイト1 BGW(site-id 1)651062001:db8:100::1062001:db8:100:1::1062001:db8:100::100
Spine2サイト2 Spine652012001:db8:100::201––
Leaf3サイト2 Leaf652022001:db8:100::202––
BGW3サイト2 BGW(site-id 2)652052001:db8:100::2052001:db8:100:1::2052001:db8:100::200
L3RtrDCIルータ65001–––
RSRoute Server650022001:db8:100::2––

BGWはLoopback0をBGP用、Loopback1をNVEの送信元(PIP)、Loopback100をMulti-Site用のVIPとして使い分けています。VIPは同じサイトのBGWで共通(サイト1は ::100、サイト2は ::200)です。

オーバーレイ

VRF(L3VNI、RT)L2VNI(VLAN)サブネットサイト1のホストサイト2のホスト
Customer-A(50100、65000:50100)10010(VLAN10)←サイト間で延伸10.10.10.0/24, 2001:10:10:10::/64CustomerA1(Leaf1): 10.10.10.100CustomerA2(Leaf3): 10.10.10.101
Customer-B(50200、65000:50200)10020(VLAN20)←サイト1のみ10.20.20.0/24, 2001:10:20:20::/64CustomerB1(Leaf2): 10.20.20.100–
Customer-B(50200、65000:50200)10030(VLAN30)←サイト2のみ10.30.30.0/24, 2001:10:30:30::/64–CustomerB2(Leaf3): 10.30.30.100

各ホストのIPv6アドレスはIPv4と同じ末尾(例: 2001:10:10:10::100)で、デフォルトゲートウェイは各LeafのAnycast Gateway(.1 / ::1)です。

試験1: サイト間のL2延伸(CustomerA1 ⇔ CustomerA2)

結論から言うと、制御プレーンは想定どおり動いたものの、疎通はできませんでした。Leaf1からBGWへ届いたARP/ND(BUM)がBGWで止まり、サイト間用に再生成されていません。

L2VNI 10010(VLAN10、10.10.10.0/24)を両サイトに作り、サイト1のCustomerA1(10.10.10.100)とサイト2のCustomerA2(10.10.10.101)が同一セグメントとして通信できるかを確認しました。

コンフィグのポイント

Multi-SiteのホワイトペーパーはIPv4のIGPアンダーレイが前提ですが、今回はサイト内もDCIもIPv6 eBGP Unnumberedである点が大きな違いです。LeafとSpineは従来の構成のままで、Multi-Site用の設定はBGWに集中します。L2延伸だけならL3VNIは不要ですが、後の試験のために作っています。

BGW(BGW1の例)。Multi-Siteに必要な設定を抜き出すと次のとおりです。

設定意味
evpn multisite border-gateway 1BGWとして動作させ、サイトIDを指定(同じサイトのBGWは同じID)
multisite border-gateway interface loopback100(nve1配下)サイト間で使うVIP。source-interface loopback1 はPIP
multisite ingress-replication(L2VNI配下)サイト間のBUMをIngress Replicationで転送
evpn multisite fabric-tracking / dci-trackingサイト内側・DCI側の物理IFを指定(両方が落ちるとVIPを引っ込める)
peer-type fabric-external(RS向けネイバー)DCI側のEVPNピアであることを示し、経路を再広告する
Loopback0・Loopback1・Loopback100を network で広告IPv6 Unnumberedなので、各LoopbackをBGPでアンダーレイに流す
evpn multisite border-gateway 1
  delay-restore time 30
!
interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback1
  multisite border-gateway interface loopback100
  member vni 10010
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 50100 associate-vrf
!
interface Ethernet1/1
  evpn multisite fabric-tracking
interface Ethernet1/2
  evpn multisite dci-tracking
!
router bgp 65105
  address-family ipv6 unicast
    network 2001:db8:100::105/128
    network 2001:db8:100:1::105/128
    network 2001:db8:100::100/128
  neighbor 2001:db8:100::2
    remote-as 65002
    update-source loopback0
    ebgp-multihop 5
    peer-type fabric-external
    address-family l2vpn evpn
      send-community
      send-community extended
  neighbor Ethernet1/1
    remote-as 65101
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  neighbor Ethernet1/2
    remote-as 65001
    address-family ipv6 unicast

RTは 65000:<VNI> で全サイト統一しており、AS番号を含まないため、AS部分を書き換える rewrite-evpn-rt-asn は設定していません。

L3Rtr(DCI) はIPv6ユニキャストだけを中継するルータで、EVPNは扱いません。

router bgp 65001
  neighbor Ethernet1/1
    remote-as 65105
    address-family ipv6 unicast
  (Ethernet1/2〜1/4も同様にBGW2、RS、BGW3とピア)

RS はSpineと似た設定で、各BGWのLoopback0とmultihopでEVPNピアを張ります。

router bgp 65002
  address-family l2vpn evpn
    retain route-target all
  neighbor 2001:db8:100::105
    remote-as 65105
    update-source loopback0
    ebgp-multihop 5
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  (BGW2、BGW3も同様)

結果: 制御プレーンは正常

Leaf1はサイト2のCustomerA2(MAC 5000.000d.0000)のType-2経路を受け取っています。ネクストホップは自サイトのBGWのVIP(::100)、RDはサイトIDベースの 1:10010 に書き換わっており、BGWによる再広告が確認できます。元のサイトは Site-ID:0:2 で分かります。

Leaf1# show bgp l2vpn evpn route-type 2
Route Distinguisher: 1:10010
BGP routing table entry for [2]:[0]:[0]:[48]:[5000.000d.0000]:[32]:[10.10.10.101]/272
  AS-Path: 65101 65106 65002 65205 65201 65202 , path sourced external to AS
    2001:db8:100::100 (metric 0) from fe80::5203:ff:fe00:101 (101.101.101.101)
      Received label 10010 50100
      Extcommunity: RT:65000:10010 RT:65000:50100 ENCAP:8 Site-ID:0:2
          Router MAC:0600.0000.0100

Leaf1# show mac address-table dynamic vlan 10
C   10     5000.000d.0000   dynamic  NA         F      F    nve1(2001:db8:100::100)

BGW1では、サイト内のLeafが FABRIC、対向サイトのVIPと各BGWのPIPが DCI としてNVEピアに並びます。VLAN10のIngress Replication先にも、Leaf1、BGW2、BGW3が入っています。

BGW1# show nve peers detail
Peer-Ip: 2001:db8:100::102      Peer Location : FABRIC
Peer-Ip: 2001:db8:100::103      Peer Location : FABRIC
Peer-Ip: 2001:db8:100::200      Peer Location : DCI     Router-Mac : 0600.0000.0200
Peer-Ip: 2001:db8:100:1::106    Peer Location : DCI
Peer-Ip: 2001:db8:100:1::205    Peer Location : DCI

BGW1# show nve vni
nve1      10010    UnicastBGP        Up    CP   L2 [10]            MS-IR

BGW1# show forwarding nve l2 ingress-replication
 VLAN 10
         peer :  2001:db8:100:1::205
         peer :  2001:db8:100:1::106
         peer :  2001:db8:100::102

結果: データプレーンはBGWで止まる

CustomerA1からのpingはIPv4・IPv6とも届きませんでした。

CustomerA#ping 10.10.10.101
.....
Success rate is 0 percent (0/5)
CustomerA#ping 2001:10:10:10::101
.H..H
Success rate is 0 percent (0/5)

キャプチャを見ると、Leaf1はARPリクエストやNDのNS(VNI 10010)を、BGW1とBGW2のPIP(::1:105、::1:106)へIngress Replicationで送っています。しかしBGWからDCI側(BGW3)へは再生成されたパケットが出ていません。

制御プレーン(Type-2/Type-3、NVEピア、Ingress Replicationリスト)はすべて正常なので、BGWでのBUMの終端・再生成というNexus9000vのデータプレーンの制約と判断しました。アンダーレイがIPv6(Unnumbered)であることが影響している可能性もありますが、今回は切り分けていません。後述のL3延伸(ユニキャスト)は同じBGWを通って疎通できているので、問題はBUMの再生成に限られます。なお考えられる要因として、以前確認したBUMのInner Macアドレス問題かもしれません。以前の記事:[Nexus9Kv] LLMは構成図と概要説明だけでIPv6 Unnumbered eBGP & VXLAN EVPNコンフィグを自動生成してくれるのか?

試験2: サイト間のL3延伸(CustomerB1 ⇔ CustomerB2)

同じVRF(Customer-B、L3VNI 50200)のまま、サイトごとに別サブネット(サイト1は10.20.20.0/24、サイト2は10.30.30.0/24)を置いた構成で、想定どおりIPv4・IPv6とも疎通できました。

コンフィグのポイント

ホワイトペーパーのL3拡張の節を参考にしています。BGWにもVRFとL3VNI(VLANとSVI、member vni 50200 associate-vrf)を作り、RTをLeafと揃えるだけです。RTはサービス統一なので rewrite-evpn-rt-asn は不要です。

! BGW1
vlan 200
  vn-segment 50200
!
vrf context Customer-B
  vni 50200
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn
  address-family ipv6 unicast
    (ipv4と同様)
!
interface Vlan200
  no shutdown
  vrf member Customer-B
  ip forward
  ipv6 forward
!
interface nve1
  member vni 50200 associate-vrf

ホワイトペーパーには「BGWでL3拡張だけを設定する場合は、VRFごとに追加のLoopbackが必要」とあります(各BGWで一意なアドレスを持ち、BGP EVPNへ再配布する)。今回のBGWにもVRF用のLoopback(Loopback1000/1001)がありますが、BGPへの再配布はしていません。

結果: 制御プレーン

各Leafは、対向サイトのサブネットをType-5として自サイトのBGWのVIP経由で受け取っています。RDは受け取った側のサイトID(サイト1は 1:50200、サイト2は 2:50200)です。

Leaf2# show bgp l2vpn evpn
Route Distinguisher: 103.103.103.103:4    (L3VNI 50200)
*>l[5]:[0]:[0]:[24]:[10.20.20.0]/224
                      2001:db8:100::103                   100      32768 i
*>e[5]:[0]:[0]:[24]:[10.30.30.0]/224
                      2001:db8:100::100
                                      0 65101 65106 65002 65205 65201 65202 i
*>e[5]:[0]:[0]:[64]:[2001:10:30:30::]/416
                      2001:db8:100::100
                                      0 65101 65106 65002 65205 65201 65202 i

Leaf3# show bgp l2vpn evpn
Route Distinguisher: 202.202.202.202:5    (L3VNI 50200)
*>e[5]:[0]:[0]:[24]:[10.20.20.0]/224
                      2001:db8:100::200
                                      0 65201 65205 65002 65106 65101 65103 i
*>e[5]:[0]:[0]:[64]:[2001:10:20:20::]/416
                      2001:db8:100::200
                                      0 65201 65205 65002 65106 65101 65103 i

結果: データプレーン

CustomerB#ping 10.30.30.100
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/14/18 ms
CustomerB#ping 2001:10:30:30::100
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 13/14/19 ms

pingをサイト内・サイト間・対向サイト内の3箇所でキャプチャすると、BGWごとにVXLANが張り直され、外側IPv6アドレスと内側MACが区間ごとに変わっているのが分かります。VNIは全区間でL3VNI 50200です。

区間(Request)外側 送信元 → 宛先内側 送信元MAC → 宛先MACVNI
サイト1内: Leaf2 → BGW::103(Leaf2)→ ::100(サイト1 VIP)5002.0000.1b08(Leaf2)→ 0600.0000.0100(サイト1 BGWの仮想MAC)50200
サイト間: BGW2 → BGW3::1:106(BGW2 PIP)→ ::200(サイト2 VIP)5005.0000.1b08(BGW2)→ 0600.0000.0200(サイト2 BGWの仮想MAC)50200
サイト2内: BGW3 → Leaf3::1:205(BGW3 PIP)→ ::202(Leaf3)5008.0000.1b08(BGW3)→ 500a.0000.1b08(Leaf3)50200

内側のIP(10.20.20.100 → 10.30.30.100)は全区間で変わりません。Leafから見ると宛先は常に自サイトのVIPで、対向サイトのLeafを意識しません。Replyも逆向きに同じように張り直されます。

試験3: サイト間のテナント間通信(CustomerA1 ⇔ CustomerB2)

サイト1のCustomer-Aとサイト2のCustomer-Bの間も、Leafで相手のRTをimportするだけで、想定どおり疎通できました。BGWとRSの設定は変えていません。

コンフィグのポイント

試験2からの差分は、Leaf1とLeaf3のRT importだけです。

! Leaf1(サイト1): Customer-AにCustomer-BのRTをimport
vrf context Customer-A
  address-family ipv4 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
  address-family ipv6 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
!
! Leaf3(サイト2): Customer-BにCustomer-AのRTをimport
vrf context Customer-B
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn

結果: 制御プレーン

Leaf1のCustomer-Aに、サイト2のCustomer-Bのサブネット(10.30.30.0/24)が自サイトBGWのVIP(::100)経由で入っています。Leaf1はCustomer-BのVRFを持たないため、宛先側のL3VNI 50200でカプセル化するDSVNI((Asymmetric))になっています。

Leaf1# show bgp ip unicast vrf Customer-A
*>l10.10.10.0/24      0.0.0.0                           100      32768 i
*>e10.10.10.101/32    2001:db8:100::100
                                      0 65101 65106 65002 65205 65201 65202 i
*>e10.20.20.0/24      2001:db8:100::103                   0 65101 65103 i
*>e10.20.20.100/32    2001:db8:100::103                   0 65101 65103 i
*>e10.30.30.0/24      2001:db8:100::100
                                      0 65101 65106 65002 65205 65201 65202 i

Leaf1# show ip route vrf Customer-A
10.30.30.0/24, ubest/mbest: 1/0
    *via 2001:db8:100::100%default, [20/0], 00:52:17, bgp-65102, external, tag 65101, segid: 50200 (Asymmetric) VTEP:(2001:db8:100::100, underlay_vrf: 1) encap: VXLAN

同じサイトのCustomer-B(10.20.20.0/24、Leaf2)も同じRT importで入るため、サイト内・サイト間を問わずテナント間で到達できるようになります。

結果: データプレーン

キャプチャでは、往路と復路でVNIが異なります。送信側のLeafが、宛先側のL3VNIでカプセル化しているためです。

区間外側 送信元 → 宛先VNI
Request サイト1内: Leaf1 → BGW::102(Leaf1)→ ::100(サイト1 VIP)50200(Customer-B)
Request サイト2内: BGW3 → Leaf3::1:205(BGW3 PIP)→ ::202(Leaf3)50200(Customer-B)
Reply サイト2内: Leaf3 → BGW3::202(Leaf3)→ ::200(サイト2 VIP)50100(Customer-A)
Reply サイト1内: BGW2 → Leaf1::1:106(BGW2 PIP)→ ::102(Leaf1)50100(Customer-A)

内側のIP(10.10.10.100 ⇔ 10.30.30.100、2001:10:10:10::100 ⇔ 2001:10:30:30::100)はIPv4・IPv6ともそのまま届いています。

まとめ

IPv6 eBGP Unnumberedだけで組んだアンダーレイでも、Multi-SiteのL3延伸とテナント間通信は問題なく動作しました。L2延伸は制御プレーンまでは正常で、Nexus9000vではBGWでのBUM再生成ができず疎通できませんでした。

試験制御プレーンデータプレーンポイント
試験1: L2延伸正常(Type-2/3、NVEピア、IRリスト)疎通不可(BGWでBUMが止まる)Nexus9000vの制約と判断。IPv6アンダーレイの影響は未切り分け
試験2: L3延伸正常(Type-5がVIP経由で配布)IPv4・IPv6とも疎通BGWごとにVXLANを張り直し、外側IPと内側MACが区間ごとに変わる
試験3: テナント間正常(RT importで相手の経路を取込み)IPv4・IPv6とも疎通LeafのRT importだけで実現。往復でVNIが異なる(DSVNI)
  • BGWがサイトの境界を作る。Leafから見ると他サイトはすべて自サイトBGWのVIPの先にあり、対向サイトのLeafやトポロジを意識しません。サイトごとに障害ドメインと設計を分けられます。
  • Multi-Siteの設定はBGWに集中する。LeafとSpineは従来のままで、RSはSpineとほぼ同じ、DCIのルータはIPv6ユニキャストを通すだけです。
  • RTをサービス統一にしておくと楽。ASの異なるeBGPファブリックを複数つないでも、rewrite-evpn-rt-asn なしでそのままRTが一致し、テナント間通信もRT importだけで済みます。
  • L2延伸は実機(物理スイッチ)での再確認が必要。Nexus9000vではBUMの再生成を確認できなかったため、IPv4アンダーレイでの比較も含めて今後の課題です。

Appendix: コンフィグ

各機器の show running-config から、動作に関係する部分だけを抜粋しています。ホスト名をクリックすると展開されます。

  • Nexus: バージョンや管理系の既定設定(username、SNMP、rmon、CoPP、mgmt0、line、bootなど)、未使用のEthernetインタフェース、descriptionを省略
  • CSR: ホスト名、IPv6ルーティング、使用しているインタフェース、スタティックルートのみ(CustomerA1・CustomerB1の実際のホスト名はCustomerA・CustomerB)

試験1・2(全機器)

Spine1
hostname Spine1

nv overlay evpn
feature bgp
feature nv overlay

vlan 1

route-map NEXT-HOP-UNCH permit 10
  set ip next-hop unchanged
  set ipv6 next-hop unchanged

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/2
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/3
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/4
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/5
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface loopback0
  ipv6 address 2001:db8:100::101/128

router bgp 65101
  router-id 101.101.101.101
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::101/128
  address-family l2vpn evpn
    retain route-target all
  neighbor Ethernet1/1
    remote-as 65102
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  neighbor Ethernet1/2
    remote-as 65103
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  neighbor Ethernet1/4
    remote-as 65105
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  neighbor Ethernet1/5
    remote-as 65106
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
Leaf1
hostname Leaf1

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay

fabric forwarding anycast-gateway-mac 0001.0001.0001
vlan 1,10,100
vlan 10
  name Customer-A
  vn-segment 10010
vlan 100
  name Customer-A-L3VNI
  vn-segment 50100

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::102
vrf context Customer-A
  vni 50100
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn

interface Vlan10
  no shutdown
  vrf member Customer-A
  ip address 10.10.10.1/24
  ipv6 address 2001:10:10:10::1/64
  fabric forwarding mode anycast-gateway

interface Vlan100
  no shutdown
  vrf member Customer-A
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback0
  member vni 10010
    ingress-replication protocol bgp
  member vni 50100 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/5
  switchport access vlan 10
  spanning-tree port type edge

interface loopback0
  ipv6 address 2001:db8:100::102/128

router bgp 65102
  router-id 102.102.102.102
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::102/128
  address-family l2vpn evpn
  neighbor Ethernet1/1
    remote-as 65101
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  vrf Customer-A
    address-family ipv4 unicast
      network 10.10.10.0/24
      advertise l2vpn evpn
    address-family ipv6 unicast
      network 2001:10:10:10::/64
      advertise l2vpn evpn
evpn
  vni 10010 l2
    rd auto
    route-target import 65000:10010
    route-target export 65000:10010
Leaf2
hostname Leaf2

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay

fabric forwarding anycast-gateway-mac 0001.0001.0001
vlan 1,20,200
vlan 20
  name Customer-B
  vn-segment 10020
vlan 200
  name Customer-B-L3VNI
  vn-segment 50200

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::103
vrf context Customer-B
  vni 50200
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn
  address-family ipv6 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn

interface Vlan20
  no shutdown
  vrf member Customer-B
  ip address 10.20.20.1/24
  ipv6 address 2001:10:20:20::1/64
  fabric forwarding mode anycast-gateway

interface Vlan200
  no shutdown
  vrf member Customer-B
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback0
  member vni 10020
    ingress-replication protocol bgp
  member vni 50200 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/5
  switchport access vlan 20
  spanning-tree port type edge

interface loopback0
  ipv6 address 2001:db8:100::103/128

router bgp 65103
  router-id 103.103.103.103
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::103/128
  address-family l2vpn evpn
  neighbor Ethernet1/1
    remote-as 65101
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  vrf Customer-B
    address-family ipv4 unicast
      network 10.20.20.0/24
      advertise l2vpn evpn
    address-family ipv6 unicast
      network 2001:10:20:20::/64
      advertise l2vpn evpn
evpn
  vni 10020 l2
    rd auto
    route-target import 65000:10020
    route-target export 65000:10020
BGW1
hostname BGW1

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay
evpn multisite border-gateway 1
  delay-restore time 30

vlan 1,10,20,100,200
vlan 10
  vn-segment 10010
vlan 20
  vn-segment 10020
vlan 100
  vn-segment 50100
vlan 200
  vn-segment 50200

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::105
vrf context Customer-A
  vni 50100
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
vrf context Customer-B
  vni 50200
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn
  address-family ipv6 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn

interface Vlan100
  no shutdown
  vrf member Customer-A
  ip forward
  ipv6 forward

interface Vlan200
  no shutdown
  vrf member Customer-B
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback1
  multisite border-gateway interface loopback100
  member vni 10010
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 10020
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 50100 associate-vrf
  member vni 50200 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown
  evpn multisite fabric-tracking

interface Ethernet1/2
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown
  evpn multisite dci-tracking

interface loopback0
  ipv6 address 2001:db8:100::105/128

interface loopback1
  ipv6 address 2001:db8:100:1::105/128

interface loopback100
  ipv6 address 2001:db8:100::100/128

interface loopback1000
  vrf member Customer-A
  ip address 1.1.100.1/32
  ipv6 address 2001:1:1:100::1/128

interface loopback1001
  vrf member Customer-B
  ip address 1.1.200.1/32
  ipv6 address 2001:1:1:200::1/128

router bgp 65105
  router-id 105.105.105.105
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100:1::105/128
    network 2001:db8:100::100/128
    network 2001:db8:100::105/128
  address-family l2vpn evpn
  neighbor 2001:db8:100::2
    remote-as 65002
    update-source loopback0
    ebgp-multihop 5
    peer-type fabric-external
    address-family l2vpn evpn
      send-community
      send-community extended
  neighbor Ethernet1/1
    remote-as 65101
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  neighbor Ethernet1/2
    remote-as 65001
    address-family ipv6 unicast
evpn
  vni 10010 l2
    rd auto
    route-target import 65000:10010
    route-target export 65000:10010
  vni 10020 l2
    rd auto
    route-target import 65000:10020
    route-target export 65000:10020
BGW2
hostname BGW2

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay
evpn multisite border-gateway 1
  delay-restore time 30

vlan 1,10,20,100,200
vlan 10
  vn-segment 10010
vlan 20
  vn-segment 10020
vlan 100
  vn-segment 50100
vlan 200
  vn-segment 50200

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::106
vrf context Customer-A
  vni 50100
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
vrf context Customer-B
  vni 50200
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn
  address-family ipv6 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn

interface Vlan100
  no shutdown
  vrf member Customer-A
  ip forward
  ipv6 forward

interface Vlan200
  no shutdown
  vrf member Customer-B
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback1
  multisite border-gateway interface loopback100
  member vni 10010
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 10020
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 50100 associate-vrf
  member vni 50200 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown
  evpn multisite fabric-tracking

interface Ethernet1/2
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown
  evpn multisite dci-tracking

interface loopback0
  ipv6 address 2001:db8:100::106/128

interface loopback1
  ipv6 address 2001:db8:100:1::106/128

interface loopback100
  ipv6 address 2001:db8:100::100/128

router bgp 65106
  router-id 106.106.106.106
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100:1::106/128
    network 2001:db8:100::100/128
    network 2001:db8:100::106/128
  address-family l2vpn evpn
  neighbor 2001:db8:100::2
    remote-as 65002
    update-source loopback0
    ebgp-multihop 5
    peer-type fabric-external
    address-family l2vpn evpn
      send-community
      send-community extended
  neighbor Ethernet1/1
    remote-as 65101
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  neighbor Ethernet1/2
    remote-as 65001
    address-family ipv6 unicast
evpn
  vni 10010 l2
    rd auto
    route-target import 65000:10010
    route-target export 65000:10010
  vni 10020 l2
    rd auto
    route-target import 65000:10020
    route-target export 65000:10020
L3Rtr
hostname L3Rtr

feature bgp

vlan 1

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/2
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/3
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/4
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

router bgp 65001
  router-id 1.1.1.1
  bestpath as-path multipath-relax
  neighbor Ethernet1/1
    remote-as 65105
    address-family ipv6 unicast
  neighbor Ethernet1/2
    remote-as 65106
    address-family ipv6 unicast
  neighbor Ethernet1/3
    remote-as 65002
    address-family ipv6 unicast
  neighbor Ethernet1/4
    remote-as 65205
    address-family ipv6 unicast
RS
hostname RS

nv overlay evpn
feature bgp
feature nv overlay

vlan 1

route-map NEXT-HOP-UNCH permit 10
  set ip next-hop unchanged
  set ipv6 next-hop unchanged

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface loopback0
  ipv6 address 2001:db8:100::2/128

router bgp 65002
  router-id 2.2.2.2
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::2/128
  address-family l2vpn evpn
    retain route-target all
  neighbor 2001:db8:100::105
    remote-as 65105
    update-source loopback0
    ebgp-multihop 5
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  neighbor 2001:db8:100::106
    remote-as 65106
    update-source loopback0
    ebgp-multihop 5
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  neighbor 2001:db8:100::205
    remote-as 65205
    update-source loopback0
    ebgp-multihop 5
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  neighbor Ethernet1/1
    remote-as 65001
    address-family ipv6 unicast
Spine2
hostname Spine2

nv overlay evpn
feature bgp
feature nv overlay

vlan 1

route-map NEXT-HOP-UNCH permit 10
  set ip next-hop unchanged
  set ipv6 next-hop unchanged

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/2
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface loopback0
  ipv6 address 2001:db8:100::201/128

router bgp 65201
  router-id 201.201.201.201
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::201/128
  address-family l2vpn evpn
    retain route-target all
  neighbor Ethernet1/1
    remote-as 65202
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
  neighbor Ethernet1/2
    remote-as 65205
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map NEXT-HOP-UNCH out
Leaf3
hostname Leaf3

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay

fabric forwarding anycast-gateway-mac 0001.0001.0001
vlan 1,10,30,100,200
vlan 10
  name Customer-A
  vn-segment 10010
vlan 30
  name Customer-B
  vn-segment 10030
vlan 100
  name Customer-B-L3VNI
  vn-segment 50100
vlan 200
  vn-segment 50200

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::202
vrf context Customer-A
  vni 50100
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
vrf context Customer-B
  vni 50200
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn
  address-family ipv6 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn

interface Vlan10
  no shutdown
  vrf member Customer-A
  ip address 10.10.10.1/24
  ipv6 address 2001:10:10:10::1/64
  fabric forwarding mode anycast-gateway

interface Vlan30
  no shutdown
  vrf member Customer-B
  ip address 10.30.30.1/24
  ipv6 address 2001:10:30:30::1/64
  fabric forwarding mode anycast-gateway

interface Vlan100
  no shutdown
  vrf member Customer-A
  ip forward
  ipv6 forward

interface Vlan200
  no shutdown
  vrf member Customer-B
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback0
  member vni 10010
    ingress-replication protocol bgp
  member vni 10030
    ingress-replication protocol bgp
  member vni 50100 associate-vrf
  member vni 50200 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/5
  switchport access vlan 10
  spanning-tree port type edge

interface Ethernet1/6
  switchport access vlan 30
  spanning-tree port type edge

interface loopback0
  ipv6 address 2001:db8:100::202/128

router bgp 65202
  router-id 202.202.202.202
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::202/128
  address-family l2vpn evpn
  neighbor Ethernet1/1
    remote-as 65201
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  vrf Customer-A
    address-family ipv4 unicast
      network 10.10.10.0/24
      advertise l2vpn evpn
    address-family ipv6 unicast
      network 2001:10:10:10::/64
      advertise l2vpn evpn
  vrf Customer-B
    address-family ipv4 unicast
      network 10.30.30.0/24
      advertise l2vpn evpn
    address-family ipv6 unicast
      network 2001:10:30:30::/64
      advertise l2vpn evpn
evpn
  vni 10010 l2
    rd auto
    route-target import 65000:10010
    route-target export 65000:10010
  vni 10030 l2
    rd auto
    route-target import 65000:10030
    route-target export 65000:10030
BGW3
hostname BGW3

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay
evpn multisite border-gateway 2
  delay-restore time 30

vlan 1,10,30,100,200
vlan 10
  vn-segment 10010
vlan 30
  vn-segment 10030
vlan 100
  vn-segment 50100
vlan 200
  vn-segment 50200

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::205
vrf context Customer-A
  vni 50100
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
vrf context Customer-B
  vni 50200
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn
  address-family ipv6 unicast
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn

interface Vlan100
  no shutdown
  vrf member Customer-A
  ip forward
  ipv6 forward

interface Vlan200
  no shutdown
  vrf member Customer-B
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback1
  multisite border-gateway interface loopback100
  member vni 10010
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 10030
    multisite ingress-replication
    ingress-replication protocol bgp
  member vni 50100 associate-vrf
  member vni 50200 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown
  evpn multisite fabric-tracking

interface Ethernet1/2
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown
  evpn multisite dci-tracking

interface loopback0
  ipv6 address 2001:db8:100::205/128

interface loopback1
  ipv6 address 2001:db8:100:1::205/128

interface loopback100
  ipv6 address 2001:db8:100::200/128

interface loopback1001
  vrf member Customer-B
  ip address 1.1.200.3/32
  ipv6 address 2001:1:1:200::3/128

router bgp 65205
  router-id 205.205.205.205
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100:1::205/128
    network 2001:db8:100::200/128
    network 2001:db8:100::205/128
  address-family l2vpn evpn
  neighbor 2001:db8:100::2
    remote-as 65002
    update-source loopback0
    ebgp-multihop 5
    peer-type fabric-external
    address-family l2vpn evpn
      send-community
      send-community extended
  neighbor Ethernet1/1
    remote-as 65201
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  neighbor Ethernet1/2
    remote-as 65001
    address-family ipv6 unicast
evpn
  vni 10010 l2
    rd auto
    route-target import 65000:10010
    route-target export 65000:10010
  vni 10030 l2
    rd auto
    route-target import 65000:10030
    route-target export 65000:10030
CustomerA1
hostname CustomerA
!
ipv6 unicast-routing
!
interface GigabitEthernet1
 ip address 10.10.10.100 255.255.255.0
 negotiation auto
 ipv6 address 2001:10:10:10::100/64
 no mop enabled
 no mop sysid
!
ip route 0.0.0.0 0.0.0.0 10.10.10.1
!
ipv6 route ::/0 2001:10:10:10::1
!
end
CustomerB1
hostname CustomerB
!
ipv6 unicast-routing
!
interface GigabitEthernet1
 ip address 10.20.20.100 255.255.255.0
 negotiation auto
 ipv6 address 2001:10:20:20::100/64
 no mop enabled
 no mop sysid
!
ip route 0.0.0.0 0.0.0.0 10.20.20.1
!
ipv6 route ::/0 2001:10:20:20::1
!
end
CustomerA2
hostname CustomerA2
!
ipv6 unicast-routing
!
interface GigabitEthernet1
 ip address 10.10.10.101 255.255.255.0
 negotiation auto
 ipv6 address 2001:10:10:10::101/64
 no mop enabled
 no mop sysid
!
ip route 0.0.0.0 0.0.0.0 10.10.10.1
!
ipv6 route ::/0 2001:10:10:10::1
!
end
CustomerB2
hostname CustomerB2
!
ipv6 unicast-routing
!
interface GigabitEthernet1
 ip address 10.30.30.100 255.255.255.0
 negotiation auto
 ipv6 address 2001:10:30:30::100/64
 no mop enabled
 no mop sysid
!
ip route 0.0.0.0 0.0.0.0 10.30.30.1
!
ipv6 route ::/0 2001:10:30:30::1
!
end

試験3(変更したLeaf1・Leaf3のみ)

試験1・2からの差分は、各VRFの route-target import 2行(IPv4・IPv6それぞれ)だけです。

Leaf1
hostname Leaf1

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay

fabric forwarding anycast-gateway-mac 0001.0001.0001
vlan 1,10,100
vlan 10
  name Customer-A
  vn-segment 10010
vlan 100
  name Customer-A-L3VNI
  vn-segment 50100

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::102
vrf context Customer-A
  vni 50100
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn

interface Vlan10
  no shutdown
  vrf member Customer-A
  ip address 10.10.10.1/24
  ipv6 address 2001:10:10:10::1/64
  fabric forwarding mode anycast-gateway

interface Vlan100
  no shutdown
  vrf member Customer-A
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback0
  member vni 10010
    ingress-replication protocol bgp
  member vni 50100 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/5
  switchport access vlan 10
  spanning-tree port type edge

interface loopback0
  ipv6 address 2001:db8:100::102/128

router bgp 65102
  router-id 102.102.102.102
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::102/128
  address-family l2vpn evpn
  neighbor Ethernet1/1
    remote-as 65101
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  vrf Customer-A
    address-family ipv4 unicast
      network 10.10.10.0/24
      advertise l2vpn evpn
    address-family ipv6 unicast
      network 2001:10:10:10::/64
      advertise l2vpn evpn
evpn
  vni 10010 l2
    rd auto
    route-target import 65000:10010
    route-target export 65000:10010
Leaf3
hostname Leaf3

nv overlay evpn
feature bgp
feature interface-vlan
feature vn-segment-vlan-based
feature nv overlay

fabric forwarding anycast-gateway-mac 0001.0001.0001
vlan 1,10,30,100,200
vlan 10
  name Customer-A
  vn-segment 10010
vlan 30
  name Customer-B
  vn-segment 10030
vlan 100
  name Customer-B-L3VNI
  vn-segment 50100
vlan 200
  vn-segment 50200

route-map RM_EVPN_NH permit 10
  set ipv6 next-hop 2001:db8:100::202
vrf context Customer-A
  vni 50100
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target export 65000:50100
    route-target export 65000:50100 evpn
vrf context Customer-B
  vni 50200
  rd auto
  address-family ipv4 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn
  address-family ipv6 unicast
    route-target import 65000:50100
    route-target import 65000:50100 evpn
    route-target import 65000:50200
    route-target import 65000:50200 evpn
    route-target export 65000:50200
    route-target export 65000:50200 evpn

interface Vlan10
  no shutdown
  vrf member Customer-A
  ip address 10.10.10.1/24
  ipv6 address 2001:10:10:10::1/64
  fabric forwarding mode anycast-gateway

interface Vlan30
  no shutdown
  vrf member Customer-B
  ip address 10.30.30.1/24
  ipv6 address 2001:10:30:30::1/64
  fabric forwarding mode anycast-gateway

interface Vlan100
  no shutdown
  vrf member Customer-A
  ip forward
  ipv6 forward

interface Vlan200
  no shutdown
  vrf member Customer-B
  ip forward
  ipv6 forward

interface nve1
  no shutdown
  host-reachability protocol bgp
  source-interface loopback0
  member vni 10010
    ingress-replication protocol bgp
  member vni 10030
    ingress-replication protocol bgp
  member vni 50100 associate-vrf
  member vni 50200 associate-vrf

interface Ethernet1/1
  no switchport
  ipv6 address use-link-local-only
  ipv6 link-local use-bia
  ipv6 nd ra-interval 4 min 3
  ipv6 nd ra-lifetime 10
  no shutdown

interface Ethernet1/5
  switchport access vlan 10
  spanning-tree port type edge

interface Ethernet1/6
  switchport access vlan 30
  spanning-tree port type edge

interface loopback0
  ipv6 address 2001:db8:100::202/128

router bgp 65202
  router-id 202.202.202.202
  bestpath as-path multipath-relax
  address-family ipv6 unicast
    network 2001:db8:100::202/128
  address-family l2vpn evpn
  neighbor Ethernet1/1
    remote-as 65201
    address-family ipv6 unicast
    address-family l2vpn evpn
      send-community
      send-community extended
      route-map RM_EVPN_NH out
  vrf Customer-A
    address-family ipv4 unicast
      network 10.10.10.0/24
      advertise l2vpn evpn
    address-family ipv6 unicast
      network 2001:10:10:10::/64
      advertise l2vpn evpn
  vrf Customer-B
    address-family ipv4 unicast
      network 10.30.30.0/24
      advertise l2vpn evpn
    address-family ipv6 unicast
      network 2001:10:30:30::/64
      advertise l2vpn evpn
evpn
  vni 10010 l2
    rd auto
    route-target import 65000:10010
    route-target export 65000:10010
  vni 10030 l2
    rd auto
    route-target import 65000:10030
    route-target export 65000:10030