Cisco ACI GOLF

Cisco ACI GOLF

Cisco ACI GOLF 機能 (ファブリック WAN のレイヤ 3 EVPN サービス機能とも呼ばれる) では、より効率的かつスケーラブルな ACI ファブリック WAN 接続が可能になります。スパイン スイッチに接続されている WAN に OSPF 経由で BGP EVPN プロトコルが使用されます。

図 1. Cisco ACI GOLF のトポロジ


すべてのテナント WAN 接続が、WAN ルータが接続されたスパイン スイッチ上で単一のセッションを使用します。データセンター相互接続ゲートウェイ(DCIG)へのテナント BGP セッションのこの集約では、テナント BGP セッションの数と、それらすべてに必要な設定の量を低減することによって、コントロール プレーンのスケールが向上します。ネットワークは、スパイン ファブリック ポートに設定された レイヤ 3 サブインターフェイスを使用して拡張されます。GOLF を使用した、共有サービスを伴うトランジット ルーティングはサポートされていません。

スパイン スイッチでの GOLF 物理接続のためのレイヤ 3 外部外側ネットワーク (L3extOut) は、infra テナントの下で指定され、次のものを含みます:

  • LNodeP (infra テナントの L3Out では、l3extInstP は必要ありません)。

  • infra テナントの GOLF 用の L3extOut のプロバイダ ラベル。

  • OSPF プロトコル ポリシー

  • BGP プロトコル ポリシー

すべての通常テナントが、上記で定義した物理接続を使用します。通常のテナントで定義した L3extOut では、次が必要です:

  • サブネットとコントラクトを持つ l3extInstP (EPG)。サブネットの範囲を使用して、ルート制御ポリシーとセキュリティ ポリシーのインポートまたはエクスポートを制御します。ブリッジ ドメイン サブネットは外部的にアドバタイズするように設定される必要があり、アプリケーション EPG および GOLF L3Out EPG と同じ VRF に存在する必要があります。

  • アプリケーション EPG と GOLF L3Out EPG の間の通信は、(契約優先グループではなく) 明示的な契約によって制御されます。

  • l3extConsLbl コンシューマ ラベル。これは infra テナントの GOLF 用の L3Out の同じプロバイダ ラベルと一致している必要があります。ラベルを一致させることにより、他のテナント内のアプリケーション EPG が LNodeP 外部 L3Out EPG を利用することが可能になります。

  • infra テナント内のマッチング プロバイダ L3extOut の BGP EVPN セッションは、この L3Out で定義されたテナント ルートをアドバタイズします。

に関する注意事項と制限事項 Cisco ACI GOLF

次に示す Cisco ACI GOLF のガイドラインおよび制限事項に従ってください。

  • GOLF は共有サービスをサポートしていません。

  • GOLF はトランジット ルーティングをサポートしていません。

  • GOLF ルータは、トラフィックを受け入れるために少なくとも 1 つのルートを Cisco Application Centric InfrastructureACI)にアドバタイズする必要があります。Cisco ACI が外部ルータからルートを受信するまで、リーフ スイッチと外部ルータの間にトンネルは作成されません。

  • すべての Cisco Nexus 9000 シリーズ Cisco ACI モードのスイッチと、すべての Cisco Nexus 9500 プラットフォーム Cisco ACI モード スイッチライン カードおよびファブリック モジュールが GOLF をサポートします。Cisco APIC、リリース 3.1(x) 以降では、これに N9K-C9364C スイッチが含まれます。

  • 現時点では、ファブリック全体のスパイン スイッチ インターフェイスに展開できるのは、単一の GOLF プロバイダ ポリシーだけです。

  • Cisco APIC リリース 2.0(2) まで、GOLFCisco ACI マルチポッド でサポートされていません。リリース 2.0 (2) では、同じファブリックでの 2 つの機能を、スイッチ名の末尾に「EX」のない Cisco Nexus N9000K スイッチ上でのみサポートしています。たとえば N9K-9312TX です。2.1(1) リリース以降では、2 つの機能を、Cisco ACI マルチポッド および EVPN トポロジで使用されているすべてのスイッチでともに展開できるようになりました。

  • スパイン スイッチで GOLF を設定する場合、コントロール プレーンがコンバージするまでは、別のスパイン スイッチで GOLF の設定を行わないでください。

  • スパイン スイッチは複数のプロバイダの GOLF 外側ネットワーク (GOLF L3Outs) に追加できますが、GOLF L3Out ごとのプロバイダ ラベルは異なっている必要があります。また、この例では、OSPF エリアも L3extOut ごとに異なっていて、異なるループバック アドレスを使用する必要があります。

  • infra テナント内のマッチング プロバイダ L3Out の BGP EVPN セッションは、この L3extOut で定義されたテナント ルートをアドバタイズします。

  • 3 つの GOLF Outs を展開する場合、1 つだけが GOLF のプロバイダ/コンシューマ ラベルを持っていて、どれも集約をエクスポートしないなら、Cisco APIC はすべてのルートをエクスポートします。これは、テナントのリーフ スイッチ上の既存の L3extOut と同じです。

  • VRF インスタンスに SPAN 接続先がある ERSPAN セッションがあり、VRF インスタンスで GOLF が有効になっており、ERSPAN 送信元にスパイン スイッチ上のインターフェイスがある場合、トランジット プレフィックスは非 GOLF L3Out から間違った BGP ネクストホップで GOLF ルータに送信されます。

  • スパイン スイッチとデータセンター相互接続(DCI)ルータ間に直接ピアリングがある場合、リーフ スイッチから ASR へのトランジット ルートには、リーフ スイッチの PTEP として次のホップが存在することになります。この場合、その Cisco ACI ポッドの TEP 範囲に対して ASR の静的ルートを定義します。また、DCI が同じポッドにデュアルホーム接続されている場合は、静的ルートの優先順位(管理距離)は、他のリンクを通じて受信するルートと同じである必要があります。

  • デフォルトの bgpPeerPfxPol ポリシーは、ルートを 20,000 に制限しています。Cisco ACI WANインターコネクト ピアの場合には、必要に応じてこれを増やしてください。

  • 1 つのスパイン スイッチ上に 2 つの L3extOut が存在し、そのうちの一方のプロバイダ ラベルが prov1 で DCI 1 とピアリングしており、もう一方の L3extOut のプロバイダ ラベルが prov2 で DCI 2 とピアリングしているという、展開シナリオを考えます。テナント VRF インスタンスに、プロバイダ ラベルのいずれか一方 (prov1 または prov2) をポイントしているコンシューマ ラベルがある場合、テナント ルートは DCI 1 と DCI 2 の両方に送信されます。

  • GOLF OpFlex VRF インスタンスを集約する場合、Cisco ACI ファブリック内、または GOLF OpFlex VRF インスタンスとシステム内のその他の VRF インスタンス間の GOLF デバイスでは、ルートのリーキングは発生しません。VRF リーキングのためには、(GOLF ルータではなく) 外部デバイスを使用する必要があります。


(注)  


Cisco ACI は IP フラグメンテーションをサポートしていません。したがって、外部ルータへのレイヤ 3 Outside(L3Out)接続、または Inter-Pod Network(IPN)を介した マルチポッド 接続を設定する場合は、インターフェイス MTU がリンクの両端で適切に設定されていることが推奨されます。Cisco ACICisco NX-OS、Cisco IOS などの一部のプラットフォームでは、設定可能な MTU 値はイーサネット ヘッダー (一致する IP MTU、14-18 イーサネット ヘッダー サイズを除く) を考慮していません。また、IOS XR などの他のプラットフォームには、設定された MTU 値にイーサネット ヘッダーが含まれています。設定された値が 9000 の場合、Cisco ACICisco NX-OS Cisco IOS の最大 IP パケット サイズは 9000 バイトになりますが、IOS-XR のタグなしインターフェイスの最大 IP パケットサイズは 8986 バイトになります。

各プラットフォームの適切な MTU 値については、それぞれの設定ガイドを参照してください。

CLI ベースのコマンドを使用して MTU をテストすることを強く推奨します。たとえば、Cisco NX-OS CLI で ping 1.1.1.1 df-bit packet-size 9000 source-interface ethernet 1/1 などのコマンドを使用します。


Multi-Site サイト間の共有 GOLF 接続を使用する

複数のサイトで共有 APIC ゴルフ接続

トポロジでは、複数のサイト、APIC サイトの拡大 Vrf は、ゴルフ接続を共有している場合、リスクのクロス VRF トラフィックの問題を回避する次のガイドラインに従います。

スパイン スイッチと、DCI の間でルート ターゲットの設定

ゴルフ Vrf の EVPN ルート ターゲット (RTs) を設定する 2 つの方法があります: 手動 RT と自動 RT. ルート ターゲットは、ACI 背表紙と OpFlex を介して DCIs の間で同期されます。ゴルフ Vrf の自動 RT は、形式に組み込まれて Fabric ID: – ASN : [ FabricID ] VNID

2 つのサイトには、次の図のように導入の Vrf がある、Vrf 間のトラフィックを混在させることができます。

サイト 1

サイト 2

ASN: 100、ファブリック ID: 1

ASN: 100、ファブリック ID: 1

VRF A:VNID 1000

インポート/エクスポート ルート ターゲット:100:[1] 1000

VRF A:VNID 2000

インポート/エクスポート ルート ターゲット:100:[1] 2000

VRF B:VNID 2000

インポート/エクスポート ルート ターゲット:100:[1] 2000

VRF B:VNID 1000

インポート/エクスポート ルート ターゲット:100:[1] 1000

Dci のために必要なルート マップ

トンネルは、中継ルートは、[DCI を介してリークとサイト間では作成されません、ため、コントロール プレーンの手間をも削減する必要があります。もう 1 つのサイトでゴルフ スパインに、DCI への 1 つのサイトでゴルフ スパインから送信される EVPN タイプ 5 およびタイプ 2 ルートを送信できませんする必要があります。これが発生スパイン スイッチに dci のために次のタイプの BGP セッションが必要がある場合。

Site1: IBGP--DCI--EBGP--サイト 2

Site1: EBGP--DCI--IBGP--サイト 2

Site1:--DCI--EBGP EBGP--サイト 2

Site1: IBGP RR クライアント--DCI (RR)----IBGP サイト 2

Dci のためにこの問題を避けるためには、ルート マップは、インバウンドおよびアウト バウンドのピア ポリシーのさまざまな BGP コミュニティで使用されます。

ルートを 1 つのサイト、もう 1 つのサイト フィルタ着信ピア ポリシーでコミュニティに基づくルートでゴルフ スパインへのアウト バウンド ピア ポリシー ゴルフ スパインから受信します。別のアウト バウンド ピア ポリシーは、WAN へコミュニティを取り除き。すべてのルート マップは、ピアのレベルでです。

NX-OS スタイル CLI を使用した推奨される共有 GOLF 設定

マルチサイトで管理されている複数の APIC サイト間で、DCI による GOLF 接続を共有する場合、ルート マップと BPG を設定し VRF 間のトラフィックの問題を避けるために次の手順を使用します。

手順


ステップ 1

インバウンド ルート マップ

例:

Inbound peer policy to attach community:

 route-map multi-site-in permit 10

  set community 1:1 additive

ステップ 2

アウトバウンド ピア ポリシーを設定し、インバウンド ピア ポリシーのコミュニティに基づいてルートをフィルタします。

例:

ip community-list standard test-com permit 1:1

route-map multi-site-out deny 10               

  match community test-com exact-match         

route-map multi-site-out permit 11  

ステップ 3

アウトバウンド ピア ポリシーを設定し、WAN へのコミュニティをフィルタします。

例:

ip community-list standard test-com permit 1:1

route-map multi-site-wan-out permit 11

  set comm-list test-com  delete

ステップ 4

BGP を設定します。

例:

router bgp 1

  address-family l2vpn evpn

  neighbor 11.11.11.11 remote-as 1

    update-source loopback0

    address-family l2vpn evpn

      send-community both

      route-map multi-site-in in

  neighbor 13.0.0.2 remote-as 2

    address-family l2vpn evpn

      send-community both

      route-map multi-site-out out

GUI を使用した ACI GOLF の設定

次に、任意のテナント ネットワークが使用できるインフラ GOLF サービスを設定する手順について説明します。

手順


ステップ 1

メニュー バーで、をクリックして テナント 、] をクリックし、 インフラ を選択、テナント インフラ。

ステップ 2

[ナビゲーション(Navigation)] ペインで、 [ネットワー キング(Networking)] オプションを展開し、次のアクションを行います。

  1. [L3Outs] を右クリックし、[L3Out の作成(Create L3Out)] をクリックして、[L3Out の作成(Create L3Out)] ウィザードを開きます。

  2. [名前(Name)]、[VRF]、および [L3 ドメイン(L3 Domain)] フィールドに必要な情報を入力します。

  3. [用途:(Use For :)] フィールドで、[Golf] を選択します。

    [プロバイダ ラベル(Provider Label)] フィールドと [ルート ターゲット(Route Target)] フィールドが表示されます。

  4. [プロバイダ ラベル(Provider Label)]フィールドに、プロバイダ ラベル(たとえば、golf)を入力します。

  5. ルート ターゲット フィールドで、自動または明示的なポリシーを持つ BGP ルート ターゲットをフィルタリング ポリシーを使用するかどうかを選択します。

    • 自動 -自動 BGP ルート ターゲット Vrf でフィルタ リングは、これに関連付けられている実装は、外部設定をルーティングします。

    • 明示的な -ルート ターゲットの明示的にフィルタ リングの実装では、この設定の外部ルーティングに関連付けられている Vrf に BGP ルート ターゲット ポリシーが設定されています。

      (注)  

       

      明示的なルート ターゲット ポリシーが設定されている、 BGP ルート ターゲット プロファイル テーブルで、 BGP ページ VRF ウィザードの作成 します。選択した場合、 自動 オプションで ルート ターゲット ] フィールドで明示ルート ターゲット ポリシーの設定、 VRF ウィザードの作成 BGP ルーティングの中断を引き起こす可能性があります。

  6. 残りのフィールドはそのままにして(BGP を選択するなど)、[次へ(Next)] をクリックします。

    [ノードとインターフェイス(Nodes and Interfaces)] ウィンドウが表示されます。

ステップ 3

[L3Out の作成(Create L3Out)] ウィザードの [ノードとインターフェイス(Nodes and Interfaces)] ウィンドウに必要な情報を入力します。

  1. [ノード ID] ドロップダウン リストで、スパイン スイッチ ノード ID を選択します。

  2. [Router ID] フィールドに、ルータ ID を入力します。

  3. (任意) 必要に応じて、ループバック アドレスに別の IP アドレスを設定できます。

    [ルータ ID(Router ID)] フィールドに入力したエントリと同じ内容が [ループバック アドレス(Loopback Address)] フィールドに自動で入力されます。これは以前のビルドでの [ループバック アドレスのルータ ID の使用(Use Router ID for Loopback Address)] と同等です。ループバックアドレスにルートIDを使用しない場合は、ループバックアドレスに別のIPアドレスを入力します。ループバック アドレスにルータ ID を使用しない場合は、このフィールドを空のままにします。

  4. [外部コントロール ピア(External Control Peering)] フィールドはオンのままにします。

  5. [ノードとインターフェイス(Nodes and Interfaces)] ウィンドウに追加の必要な情報を入力します。

    このウィンドウに表示されるフィールドは、[レイヤ 3(Layer 3)] および [レイヤ 2(Layer 2)] 領域で選択したオプションによって異なります。

  6. [ノードとインターフェイス(Nodes and Interfaces)] ウィンドウで残りの追加の情報を入力したら、[次(Next)] をクリックします。

    [プロトコル(Protocols)] ウィンドウが表示されます。

ステップ 4

[L3Out の作成(Create L3Out)] ウィザードの [プロトコル(Protocols)] ウィンドウに必要な情報を入力します。

  1. [BGP ループバック ポリシー(BGP Loopback Policies)] および [BGP インターフェイス ポリシー(BGP Interface Policies)] 領域で、次の情報を入力します。

    • ピア アドレス(Peer Address):ピア IP アドレスを入力します

    • EBGP Multihop TTL(EBGP マルチホップ TTL):接続の存続可能時間(TTL)を入力します。範囲は 1 〜 255 ホップです。ゼロの場合、TTL は指定されません。デフォルトは 0 です。

    • リモート ASN(Remote ASN):ネイバー自律システムを固有に識別する番号を入力します。自律システム番号は、プレーン形式の 1 〜 4294967295 の 4 バイトにすることができます。

      (注)  

       

      ACI は asdot または asdot+ 形式の自律システム番号をサポートしません。

  2. [OSPF] 領域で、デフォルト OSPF ポリシー、以前に作成した OSPF ポリシー、または [OSPF インターフェイス ポリシーの作成(Create OSPF Interface Policy)] を選択します。

  3. [次へ(Next)] をクリックします。

    [外部 EPG(External EPG)] ウィンドウが表示されます。

ステップ 5

[L3Out の作成(Create L3Out)] ウィザードで [外部 EPG(External EPG)] ウィンドウに必要な情報を入力します。

  1. Name フィールドに、外部ネットワークの名前を入力します。

  2. [提供済みコントラクト(Provided Contract)] フィールドで、提供済みコントラクトの名前を入力します。

  3. [消費済みコントラクト(Consumed Contract)] フィールドで、消費済みコントラクトの名前を入力します。

  4. [すべてのサブネットを許可(Allow All Subnet)] フィールドで、この L3Out 接続からのすべての中継ルートをアドバタイズしない場合はオフにします。

    このボックスをオフにすると、[Subnets] 領域が表示されます。次の手順に従って、必要なサブネットとコントロールを指定します。

  5. [完了(Finish)] をクリックして、[L3Out の作成(Create L3Out)] ウィザードに必要な設定の入力を完了させます。

ステップ 6

テナントの [ナビゲーション(Navigation)] ペインで、 tenant_name > [ネットワー キング(Networking)] > L3Outs を展開し、次のアクションを行います。

  1. [L3Outs] を右クリックし、[L3Out の作成(Create L3Out)] をクリックしてウィザードを開きます。

  2. [名前(Name)]、[VRF]、および [L3 ドメイン(L3 Domain)] フィールドに必要な情報を入力します。

  3. [GOLF の使用(Use for GOLF)] フィールドの横にあるボックスをオンにします。

  4. [ラベル(Label)] フィールドで、[コンシューマ(Consumer)] を選択します。

  5. [コンシューマ ラベル] を割り当てます。この例では、(以前に作成した)golf を使用します。

  6. [次へ(Next)] をクリックし、[完了(Finish)] をクリックします。


NX-OS スタイル CLI を使用した Cisco ACI GOLF 設定の例:

次の例を設定する CLI コマンドの show GOLF サービスで、OSPF over スパイン スイッチに接続されている WAN ルータの BGP EVPN プロトコルを使用します。

設定、BGP EVPN のテナント インフラ

次の例を設定する方法を示しています、インフラ VLAN ドメイン、VRF、インターフェイスの IP アドレッシングを含む、BGP EVPN および OSPF のテナントします。


configure
  vlan-domain evpn-dom dynamic
  exit
  spine 111         
       # Configure  Tenant Infra VRF overlay-1 on the spine.
    vrf context tenant infra vrf overlay-1
        router-id 10.10.3.3
        exit

    interface ethernet 1/33
         vlan-domain member golf_dom
         exit
    interface ethernet 1/33.4
         vrf member tenant infra vrf overlay-1
         mtu 1500
         ip address 5.0.0.1/24
         ip router ospf default area 0.0.0.150
         exit
    interface ethernet 1/34
         vlan-domain member golf_dom
        exit
    interface ethernet 1/34.4
        vrf member tenant infra vrf overlay-1
        mtu 1500
        ip address 2.0.0.1/24
        ip router ospf default area 0.0.0.200
       exit

    router ospf default
       vrf member tenant infra vrf overlay-1
           area 0.0.0.150 loopback 10.10.5.3
           area 0.0.0.200 loopback 10.10.4.3
           exit
       exit

スパイン ノード上の BGP の設定

次の例では、BGP EVPN をサポートする BGP を設定する方法を示します。


    Configure 
    spine 111
    router bgp 100
        vrf member tenant infra vrf overlay- 1
             neighbor 10.10.4.1 evpn
                 label golf_aci
                 update-source loopback 10.10.4.3
                 remote-as 100
                 exit
             neighbor 10.10.5.1 evpn
                 label golf_aci2
                 update-source loopback 10.10.5.3
                 remote-as 100
                 exit
        exit
    exit

BGP EVPN のテナントの設定

次の例では、BGP EVPN、BGP EVPN セッションで提供されるゲートウェイ サブネットを含むのテナントを設定する方法を示します。


configure
  tenant sky
    vrf context vrf_sky
      exit
    bridge-domain bd_sky
      vrf member vrf_sky
      exit
    interface bridge-domain bd_sky
      ip address 59.10.1.1/24
      exit
    bridge-domain bd_sky2
      vrf member vrf_sky
      exit
    interface bridge-domain bd_sky2
      ip address 59.11.1.1/24
      exit
    exit

BGP EVPN ルート ターゲット、ルート マップと、テナントのプレフィックス EPG の設定

次の例では、BGP EVPN を介してブリッジ ドメイン サブネットをアドバタイズするルート マップを設定する方法を示します。


configure
spine 111
    vrf context tenant sky vrf vrf_sky
        address-family ipv4 unicast
            route-target export 100:1
            route-target import 100:1
             exit
      
        route-map rmap
            ip prefix-list p1 permit 11.10.10.0/24 
            match bridge-domain bd_sky
                exit
            match prefix-list p1
                exit

         evpn export map rmap label golf_aci

          route-map rmap2
           match bridge-domain bd_sky
               exit
           match prefix-list p1
              exit
          exit

         evpn export map rmap label golf_aci2

    external-l3 epg l3_sky
      vrf member vrf_sky
      match ip 80.10.1.0/24
      exit

REST API を使用した GOLF の設定

手順


ステップ 1

次の例では、REST API を使用して GOLF のノードおよびスパイン スイッチ インターフェイスを展開する方法を示しています。

例:

POST 
https://192.0.20.123/api/mo/uni/golf.xml

ステップ 2

次の XML で、スパイン スイッチ インターフェイスと GOLF サービスのインフラ テナント プロバイダを設定します。次の XML 構造を POST メッセージの本文に含めます。

例:

<l3extOut descr="" dn="uni/tn-infra/out-golf" enforceRtctrl="export,import" 
    name="golf" 
    ownerKey="" ownerTag="" targetDscp="unspecified">
    <l3extRsEctx tnFvCtxName="overlay-1"/>
    <l3extProvLbl descr="" name="golf" 
         ownerKey="" ownerTag="" tag="yellow-green"/>
    <l3extLNodeP configIssues="" descr="" 
         name="bLeaf" ownerKey="" ownerTag="" 
         tag="yellow-green" targetDscp="unspecified">
         <l3extRsNodeL3OutAtt rtrId="10.10.3.3" rtrIdLoopBack="no" 
             tDn="topology/pod-1/node-111">
             <l3extInfraNodeP descr="" fabricExtCtrlPeering="yes" name=""/>
             <l3extLoopBackIfP addr="10.10.3.3" descr="" name=""/>
         </l3extRsNodeL3OutAtt>
         <l3extRsNodeL3OutAtt rtrId="10.10.3.4" rtrIdLoopBack="no" 
             tDn="topology/pod-1/node-112">
         <l3extInfraNodeP descr="" fabricExtCtrlPeering="yes" name=""/>
         <l3extLoopBackIfP addr="10.10.3.4" descr="" name=""/>
         </l3extRsNodeL3OutAtt>
         <l3extLIfP descr="" name="portIf-spine1-3" 
             ownerKey="" ownerTag="" tag="yellow-green">
             <ospfIfP authKeyId="1" authType="none" descr="" name="">
               <ospfRsIfPol tnOspfIfPolName="ospfIfPol"/>
             </ospfIfP>
             <l3extRsNdIfPol tnNdIfPolName=""/>
             <l3extRsIngressQosDppPol tnQosDppPolName=""/>
             <l3extRsEgressQosDppPol tnQosDppPolName=""/>
             <l3extRsPathL3OutAtt addr="7.2.1.1/24" descr="" 
                encap="vlan-4" 
                encapScope="local" 
                ifInstT="sub-interface" 
                llAddr="::" mac="00:22:BD:F8:19:FF" 
                mode="regular" 
                mtu="1500" 
                tDn="topology/pod-1/paths-111/pathep-[eth1/12]" 
                targetDscp="unspecified"/>
          </l3extLIfP>
          <l3extLIfP descr="" name="portIf-spine2-1" 
              ownerKey="" 
              ownerTag="" 
              tag="yellow-green">
              <ospfIfP authKeyId="1" 
                   authType="none" 
                   descr="" 
                   name="">
                   <ospfRsIfPol tnOspfIfPolName="ospfIfPol"/>
              </ospfIfP>
              <l3extRsNdIfPol tnNdIfPolName=""/>
              <l3extRsIngressQosDppPol tnQosDppPolName=""/>
              <l3extRsEgressQosDppPol tnQosDppPolName=""/>
              <l3extRsPathL3OutAtt addr="7.1.0.1/24" descr="" 
                   encap="vlan-4" 
                   encapScope="local" 
                   ifInstT="sub-interface" 
                   llAddr="::" mac="00:22:BD:F8:19:FF" 
                   mode="regular" 
                   mtu="9000" 
                   tDn="topology/pod-1/paths-112/pathep-[eth1/11]" 
                   targetDscp="unspecified"/>
           </l3extLIfP>
           <l3extLIfP descr="" name="portif-spine2-2" 
              ownerKey="" 
              ownerTag="" 
              tag="yellow-green">
              <ospfIfP authKeyId="1" 
                   authType="none" descr="" 
                   name="">
                   <ospfRsIfPol tnOspfIfPolName="ospfIfPol"/>
             </ospfIfP>
             <l3extRsNdIfPol tnNdIfPolName=""/>
             <l3extRsIngressQosDppPol tnQosDppPolName=""/>
             <l3extRsEgressQosDppPol tnQosDppPolName=""/>
             <l3extRsPathL3OutAtt addr="7.2.2.1/24" descr="" 
                   encap="vlan-4" 
                   encapScope="local" 
                   ifInstT="sub-interface" 
                          llAddr="::" mac="00:22:BD:F8:19:FF" 
                          mode="regular" 
                          mtu="1500" 
                          tDn="topology/pod-1/paths-112/pathep-[eth1/12]" 
                          targetDscp="unspecified"/>
             </l3extLIfP>
             <l3extLIfP descr="" name="portIf-spine1-2" 
                  ownerKey="" ownerTag="" tag="yellow-green">
                  <ospfIfP authKeyId="1" authType="none" descr="" name="">
                       <ospfRsIfPol tnOspfIfPolName="ospfIfPol"/>
                  </ospfIfP>
                  <l3extRsNdIfPol tnNdIfPolName=""/>
                  <l3extRsIngressQosDppPol tnQosDppPolName=""/>
                  <l3extRsEgressQosDppPol tnQosDppPolName=""/>
                  <l3extRsPathL3OutAtt addr="9.0.0.1/24" descr="" 
                   encap="vlan-4" 
                   encapScope="local" 
                   ifInstT="sub-interface" 
                        llAddr="::" mac="00:22:BD:F8:19:FF" 
                        mode="regular" 
                        mtu="9000" 
                        tDn="topology/pod-1/paths-111/pathep-[eth1/11]" 
                        targetDscp="unspecified"/>
             </l3extLIfP>
             <l3extLIfP descr="" name="portIf-spine1-1" 
                   ownerKey="" ownerTag="" tag="yellow-green">
                   <ospfIfP authKeyId="1" authType="none" descr="" name="">
                        <ospfRsIfPol tnOspfIfPolName="ospfIfPol"/>
                   </ospfIfP>
                   <l3extRsNdIfPol tnNdIfPolName=""/>
                   <l3extRsIngressQosDppPol tnQosDppPolName=""/>
                   <l3extRsEgressQosDppPol tnQosDppPolName=""/>
                   <l3extRsPathL3OutAtt addr="7.0.0.1/24" descr="" 
                     encap="vlan-4" 
                     encapScope="local" 
                     ifInstT="sub-interface" 
                     llAddr="::" mac="00:22:BD:F8:19:FF" 
                     mode="regular" 
                     mtu="1500" 
                     tDn="topology/pod-1/paths-111/pathep-[eth1/10]" 
                          targetDscp="unspecified"/>
             </l3extLIfP>
             <bgpInfraPeerP addr="10.10.3.2" 
                allowedSelfAsCnt="3" 
                ctrl="send-com,send-ext-com" 
                descr="" name="" peerCtrl="" 
                peerT="wan" 
                privateASctrl="" ttl="2" weight="0">
                <bgpRsPeerPfxPol tnBgpPeerPfxPolName=""/>
                <bgpAsP asn="150" descr="" name="aspn"/>
             </bgpInfraPeerP>
             <bgpInfraPeerP addr="10.10.4.1" 
                allowedSelfAsCnt="3" 
                ctrl="send-com,send-ext-com" descr="" name="" peerCtrl="" 
                peerT="wan" 
                privateASctrl="" ttl="1" weight="0">
                <bgpRsPeerPfxPol tnBgpPeerPfxPolName=""/>
                <bgpAsP asn="100" descr="" name=""/>
              </bgpInfraPeerP>
              <bgpInfraPeerP addr="10.10.3.1" 
                allowedSelfAsCnt="3" 
                ctrl="send-com,send-ext-com" descr="" name="" peerCtrl="" 
                peerT="wan" 
                privateASctrl="" ttl="1" weight="0">
                <bgpRsPeerPfxPol tnBgpPeerPfxPolName=""/>
                <bgpAsP asn="100" descr="" name=""/>
             </bgpInfraPeerP>
       </l3extLNodeP>
       <bgpRtTargetInstrP descr="" name="" ownerKey="" ownerTag="" rtTargetT="explicit"/>
       <l3extRsL3DomAtt tDn="uni/l3dom-l3dom"/>
       <l3extInstP descr="" matchT="AtleastOne" name="golfInstP" 
                 prio="unspecified" 
                 targetDscp="unspecified">
                 <fvRsCustQosPol tnQosCustomPolName=""/>
        </l3extInstP>
        <bgpExtP descr=""/>
        <ospfExtP areaCost="1" 
               areaCtrl="redistribute,summary" 
               areaId="0.0.0.1" 
               areaType="regular" descr=""/>
</l3extOut>
 

ステップ 3

次の XML で、GOLF サービスのインフラ部分のテナント コンシューマを設定します。次の XML 構造を POST メッセージの本文に含めます。

例:

<fvTenant descr="" dn="uni/tn-pep6" name="pep6" ownerKey="" ownerTag="">
     <vzBrCP descr="" name="webCtrct" 
          ownerKey="" ownerTag="" prio="unspecified" 
          scope="global" targetDscp="unspecified">
          <vzSubj consMatchT="AtleastOne" descr="" 
               name="http" prio="unspecified" provMatchT="AtleastOne" 
               revFltPorts="yes" targetDscp="unspecified">
               <vzRsSubjFiltAtt directives="" tnVzFilterName="default"/>
          </vzSubj>
      </vzBrCP>
      <vzBrCP descr="" name="webCtrct-pod2" 
           ownerKey="" ownerTag="" prio="unspecified" 
           scope="global" targetDscp="unspecified">
           <vzSubj consMatchT="AtleastOne" descr="" 
                name="http" prio="unspecified" 
                provMatchT="AtleastOne" revFltPorts="yes" 
                targetDscp="unspecified">
                <vzRsSubjFiltAtt directives="" 
                      tnVzFilterName="default"/>
           </vzSubj>
       </vzBrCP>
       <fvCtx descr="" knwMcastAct="permit" 
            name="ctx6" ownerKey="" ownerTag="" 
            pcEnfDir="ingress" pcEnfPref="enforced">
            <bgpRtTargetP af="ipv6-ucast" 
                 descr="" name="" ownerKey="" ownerTag="">
                 <bgpRtTarget descr="" name="" ownerKey="" ownerTag="" 
                 rt="route-target:as4-nn2:100:1256" 
                 type="export"/>
                 <bgpRtTarget descr="" name="" ownerKey="" ownerTag="" 
                      rt="route-target:as4-nn2:100:1256" 
                      type="import"/>
            </bgpRtTargetP>
            <bgpRtTargetP af="ipv4-ucast" 
                 descr="" name="" ownerKey="" ownerTag="">
                 <bgpRtTarget descr="" name="" ownerKey="" ownerTag="" 
                      rt="route-target:as4-nn2:100:1256" 
                      type="export"/>
                 <bgpRtTarget descr="" name="" ownerKey="" ownerTag="" 
                      rt="route-target:as4-nn2:100:1256" 
                      type="import"/>
            </bgpRtTargetP>
            <fvRsCtxToExtRouteTagPol tnL3extRouteTagPolName=""/>
            <fvRsBgpCtxPol tnBgpCtxPolName=""/>
            <vzAny descr="" matchT="AtleastOne" name=""/>
            <fvRsOspfCtxPol tnOspfCtxPolName=""/>
            <fvRsCtxToEpRet tnFvEpRetPolName=""/>
            <l3extGlobalCtxName descr="" name="dci-pep6"/>
       </fvCtx>
       <fvBD arpFlood="no" descr="" epMoveDetectMode="" 
            ipLearning="yes" 
            limitIpLearnToSubnets="no" 
            llAddr="::" mac="00:22:BD:F8:19:FF" 
            mcastAllow="no" 
            multiDstPktAct="bd-flood" 
            name="bd107" ownerKey="" ownerTag="" type="regular" 
            unicastRoute="yes" 
            unkMacUcastAct="proxy" 
            unkMcastAct="flood" 
            vmac="not-applicable">
            <fvRsBDToNdP tnNdIfPolName=""/>
            <fvRsBDToOut tnL3extOutName="routAccounting-pod2"/>
            <fvRsCtx tnFvCtxName="ctx6"/>
            <fvRsIgmpsn tnIgmpSnoopPolName=""/>
            <fvSubnet ctrl="" descr="" ip="27.6.1.1/24" 
                 name="" preferred="no" 
                 scope="public" 
                 virtual="no"/>
                 <fvSubnet ctrl="nd" descr="" ip="2001:27:6:1::1/64" 
                      name="" preferred="no" 
                      scope="public" 
                      virtual="no">
                      <fvRsNdPfxPol tnNdPfxPolName=""/>
                 </fvSubnet>
                 <fvRsBdToEpRet resolveAct="resolve" tnFvEpRetPolName=""/>
       </fvBD>
       <fvBD arpFlood="no" descr="" epMoveDetectMode="" 
            ipLearning="yes" 
            limitIpLearnToSubnets="no" 
            llAddr="::" mac="00:22:BD:F8:19:FF" 
            mcastAllow="no" 
            multiDstPktAct="bd-flood" 
            name="bd103" ownerKey="" ownerTag="" type="regular" 
            unicastRoute="yes" 
            unkMacUcastAct="proxy" 
            unkMcastAct="flood" 
            vmac="not-applicable">
            <fvRsBDToNdP tnNdIfPolName=""/>
            <fvRsBDToOut tnL3extOutName="routAccounting"/>
            <fvRsCtx tnFvCtxName="ctx6"/>
            <fvRsIgmpsn tnIgmpSnoopPolName=""/>
            <fvSubnet ctrl="" descr="" ip="23.6.1.1/24" 
                 name="" preferred="no" 
                 scope="public" 
                 virtual="no"/>
            <fvSubnet ctrl="nd" descr="" ip="2001:23:6:1::1/64" 
                 name="" preferred="no" 
                 scope="public" virtual="no">
                 <fvRsNdPfxPol tnNdPfxPolName=""/>
            </fvSubnet>
            <fvRsBdToEpRet resolveAct="resolve" tnFvEpRetPolName=""/>
       </fvBD>
       <vnsSvcCont/>
       <fvRsTenantMonPol tnMonEPGPolName=""/>
       <fvAp descr="" name="AP1" 
            ownerKey="" ownerTag="" prio="unspecified">
            <fvAEPg descr="" 
                 isAttrBasedEPg="no" 
                 matchT="AtleastOne" 
                 name="epg107" 
                 pcEnfPref="unenforced" prio="unspecified">
                 <fvRsCons prio="unspecified" 
                      tnVzBrCPName="webCtrct-pod2"/>
                 <fvRsPathAtt descr="" 
                      encap="vlan-1256" 
                      instrImedcy="immediate" 
                      mode="regular" primaryEncap="unknown" 
                      tDn="topology/pod-2/paths-107/pathep-[eth1/48]"/>
                 <fvRsDomAtt classPref="encap" delimiter="" 
                      encap="unknown" 
                      instrImedcy="immediate" 
                      primaryEncap="unknown" 
                      resImedcy="lazy" tDn="uni/phys-phys"/>
                 <fvRsCustQosPol tnQosCustomPolName=""/>
                 <fvRsBd tnFvBDName="bd107"/>
                 <fvRsProv matchT="AtleastOne" 
                      prio="unspecified" 
                      tnVzBrCPName="default"/>
            </fvAEPg>
            <fvAEPg descr="" 
                 isAttrBasedEPg="no" 
                 matchT="AtleastOne" 
                 name="epg103" 
                 pcEnfPref="unenforced" prio="unspecified">
                 <fvRsCons prio="unspecified" tnVzBrCPName="default"/>
                 <fvRsCons prio="unspecified" tnVzBrCPName="webCtrct"/>
                 <fvRsPathAtt descr="" encap="vlan-1256" 
                      instrImedcy="immediate" 
                      mode="regular" primaryEncap="unknown" 
                      tDn="topology/pod-1/paths-103/pathep-[eth1/48]"/>
                      <fvRsDomAtt classPref="encap" delimiter="" 
                           encap="unknown" 
                           instrImedcy="immediate" 
                           primaryEncap="unknown" 
                           resImedcy="lazy" tDn="uni/phys-phys"/>
                      <fvRsCustQosPol tnQosCustomPolName=""/>
                      <fvRsBd tnFvBDName="bd103"/>
            </fvAEPg>
       </fvAp>
       <l3extOut descr="" 
            enforceRtctrl="export" 
            name="routAccounting-pod2" 
            ownerKey="" ownerTag="" targetDscp="unspecified">
            <l3extRsEctx tnFvCtxName="ctx6"/>
            <l3extInstP descr="" 
                 matchT="AtleastOne" 
                 name="accountingInst-pod2" 
                 prio="unspecified" targetDscp="unspecified">
            <l3extSubnet aggregate="export-rtctrl,import-rtctrl" 
                 descr="" ip="::/0" name="" 
                 scope="export-rtctrl,import-rtctrl,import-security"/>
            <l3extSubnet aggregate="export-rtctrl,import-rtctrl" 
                 descr="" 
                 ip="0.0.0.0/0" name="" 
                 scope="export-rtctrl,import-rtctrl,import-security"/>
            <fvRsCustQosPol tnQosCustomPolName=""/>
            <fvRsProv matchT="AtleastOne" 
                 prio="unspecified" tnVzBrCPName="webCtrct-pod2"/>
            </l3extInstP>
            <l3extConsLbl descr="" 
                 name="golf2" 
                 owner="infra" 
                 ownerKey="" ownerTag="" tag="yellow-green"/>
       </l3extOut>
       <l3extOut descr="" 
            enforceRtctrl="export" 
            name="routAccounting" 
            ownerKey="" ownerTag="" targetDscp="unspecified">
            <l3extRsEctx tnFvCtxName="ctx6"/>
            <l3extInstP descr="" 
                 matchT="AtleastOne" 
                 name="accountingInst" 
                 prio="unspecified" targetDscp="unspecified">
            <l3extSubnet aggregate="export-rtctrl,import-rtctrl" descr="" 
                 ip="0.0.0.0/0" name="" 
                 scope="export-rtctrl,import-rtctrl,import-security"/>
            <fvRsCustQosPol tnQosCustomPolName=""/>
            <fvRsProv matchT="AtleastOne" prio="unspecified" tnVzBrCPName="webCtrct"/>
            </l3extInstP>
            <l3extConsLbl descr="" 
                 name="golf" 
                 owner="infra" 
                 ownerKey="" ownerTag="" tag="yellow-green"/>
       </l3extOut>
</fvTenant>
 

DCIG への BGP EVPN タイプ 2 ホスト ルートの分散化

DCIG への BGP EVPN タイプ 2 のホスト ルートの配信

APIC ではリリース 2.0(1f) まで、ファブリック コントロール プレーンは EVPN ホスト ルートを直接送信してはいませんでしたが、Data Center Interconnect Gateway(DCIG)にルーティングしている BGP EVPN タイプ 5(IP プレフィックス)形式のパブリック ドメイン(BD)サブネットをアドバタイズしていました。これにより、最適ではないトラフィックの転送となる可能性があります。転送を改善するため APIC リリース 2.1 x では、ファブリック スパインを有効にして、パブリック BD サブネットとともに DCIG に EVPN タイプ 2(MAC-IP)ホスト ルートを使用してホスト ルートをアドバタイズできます。

そのためには、次の手順を実行する必要があります。

  1. BGP アドレス ファミリ コンテキスト ポリシーを設定する際に、ホスト ルート リークを有効にします。

  2. GOLF セットアップで BGP EVPN へのホスト ルートをリークする場合:

    1. GOLF が有効になっている場合にホスト ルートを有効にするには、インフラストラクチャ テナント以外に、BPG アドレス ファミリ コンテキスト ポリシーがアプリケーション テナント(アプリケーション テナントはコンシューマ テナントであり、エンドポイントを BGP EVPN にリークします)で設定されている必要があります。

    2. 単一ポッド ファブリックについては、ホスト ルート機能は必要ありません。ホスト ルート機能は、マルチポッド ファブリック セットアップで最適ではない転送を避けるために必要です。ただし、単一ポッド ファブリックがセットアップされる場合、エンドポイントから BGP EVPN にリークするため、ファブリック外部接続ポリシーを設定し ETEP IP アドレスを提供する必要があります。そうしないと、ホスト ルートは、BGP EVPN にはリークされません。

  3. VRF のプロパティを設定する場合:

    1. IPv4 および IPv6 の各アドレス ファミリの BGP コンテキストに BGP アドレス ファミリ コンテキスト ポリシーを追加します。

    2. VRF からインポートまたはエクスポート可能なルートを特定する BGP ルート ターゲット プロファイルを設定します。

GUI を使用して DCIG への BGP EVPN タイプ 2 のホスト ルートを分散する

次の手順で BGP EVPN タイプ 2 のホスト ルートの分散を有効にします。

始める前に

インフラ テナントでのACI の WAN 相互接続サービスをすでに設定しており、サービスを使用するテナントを設定している

手順


ステップ 1

メニュー バーで [テナント(Tenants)] > [インフラ(infra)] をクリックします。

ステップ 2

[ナビゲーション(Navigation)] ペインで、 [ポリシー(Policies)] > [プロトコル(Protocol)] > [BGP] をクリックします。

ステップ 3

BGP Address Family Context を右クリックし、Create BGP Address Family Context Policy を選択し、次の手順を実行します:

  1. ポリシーの名前を入力し、必要に応じて説明を追加します。

  2. Enable Host Route Leak チェック ボックスをクリックします。

  3. Submit をクリックします。

ステップ 4

[テナント(Tenants)] > [tenant-name](BGP アドレス ファミリ コンテキスト ポリシーを使用するテナント)をクリックし、[ネットワーキング(Networking)] を展開します。

ステップ 5

VRF を展開し、分散するホスト ルートを含む VRF をクリックします。

ステップ 6

VRF のプロパティを設定するときには、BGP Address Family Context Policy を IPv4 と IPv6 の BGP Context Per Address Families に追加します。

ステップ 7

[Submit] をクリックします。


NX-OS スタイル CLI を使用して DCIG への配布の BGP EVPN タイプ 2 のホスト ルートの有効化

手順

コマンドまたはアクション 目的

BGP アドレス ファミリ configuration mode(設定モード、コンフィギュレーション モード) で、次のコマンドを DCIG に配布 EVPN タイプ 2 のホスト ルートを設定します。

例:

apic1(config)# leaf 101
apic1(config-leaf)#  template bgp address-family bgpAf1 tenant bgp_t1
apic1(config-bgp-af)#  distance 250 240 230
apic1(config-bgp-af)#  host-rt-enable 
apic1(config-bgp-af)#  exit
このテンプレートは、テナント bgp_t1 は VRF の導入を持つすべてのノードで利用可能になります。配布 EVPN タイプ 2 のホスト ルートを無効にするには、次のように入力します。、 no ホスト-rt-enable コマンド。

REST API を使用した DCIG への BGP EVPN タイプ 2 ホスト ルート配信の有効化

次のように REST API を使用して、BGP EVPN タイプ 2 ホスト ルートの配信を有効にします。

始める前に

EVPN サービスを設定する必要があります。

手順


ステップ 1

次の例のように、XML が含まれている POST で、ホスト ルート リーク ポリシーを設定します。

例:

<bgpCtxAfPol descr="" ctrl="host-rt-leak" name="bgpCtxPol_0 status=""/>

ステップ 2

次の例のように、XML が含まれている POST を使用してアドレス ファミリの一方または両方の VRF BGP アドレス ファミリ コンテキスト ポリシーに、ポリシーを適用します。

例:

<fvCtx name="vni-10001">
<fvRsCtxToBgpCtxAfPol af="ipv4-ucast" tnBgpCtxAfPolName="bgpCtxPol_0"/>
<fvRsCtxToBgpCtxAfPol af="ipv6-ucast" tnBgpCtxAfPolName="bgpCtxPol_0"/>
</fvCtx>