Inhoud

Inleiding

Achtergrondinformatie

Probleem

Inleiding

Dit document beschrijft het effect van verkeerd geconfigureerd uitgebreide community-attribuut van Router MAC op een ACI-stof wanneer deze wordt ontvangen van een externe BGP-peer (BGP).

Achtergrondinformatie

Met BGP is er een optie om community- en uitgebreide community-kenmerken te verzenden met de prefixes die worden geadverteerd naar BGP-peers. Deze communautaire eigenschappen staan ons toe om het routing beleid aan te passen en dynamisch de manier te wijzigen waarop het routed verkeer wordt verwerkt.

Probleem

Wanneer het uitgebreide community-attribuut van Router MAC met een IPv4 AFI-prefix van een externe BGP-peer naar een ACI-stof wordt verzonden, komen FIB- en HAL-misprogrammering voor op elk blad in de stof dat de route van het (de) grensblad(en) via het interne MP-BGP-proces ontvangt. Dit komt doordat het RMAC extcommunity attribuut behoort tot de BGP L2VPN EVPN adresfamilie, en wanneer het wordt geïnjecteerd in de BGP IPv4 adresfamilie, wordt het afgewezen. Dit is te wijten aan een schending van regel 5.2 (Uniform-Propagation-Mode), die wordt beschreven in het IETF-document met de titel "EVPN Interworking with IPVPN". Op bladzijde 15, punt 4c, wordt de specifieke kwestie genoemd:

4.  As discussed, Communities, Extended Communities and Large

Communities SHOULD be kept by the gateway PE from the originating

SAFI route.  Exceptions of Extended Communities that SHOULD NOT

be kept are:

C.  All the extended communities of type EVPN.

The gateway PE SHOULD NOT copy the above extended communities

from the originating ISF route to the re-advertised ISF route.

Link naar document: EVPN Interworking met IPVPN

Hier is een voorbeeld van het probleem met iBGP, maar het probleem wordt ook gezien met eBGP.

Topologiediagram:

Topologiediagram

Configureer routekaart op extern BGP-peer-apparaat (router 1) en stel het kenmerk EVPN RMAC extcommunity in:

Router-1# show run | sec route-map

route-map RMAC permit 10

set extcommunity evpn rmac aaaa.bbbb.cccc

Configureer onder de configuratie van de IPv4-adresfamilie van de BGP-buur de uitgebreide BGP-community’s en configureer de routekaart in de uitgaande richting:

Router-1# show run bgp

<output omitted>

feature bgp

router bgp 65001

vrf example

router-id 192.168.20.20

address-family ipv4 unicast

network 192.168.20.0/24

neighbor 192.168.30.30

remote-as 65001

update-source loopback1

address-family ipv4 unicast

send-community extended

route-map RMAC out

Controleer de BGP-status op BL 101:

leaf-101# show ip bgp 192.168.20.0 vrf example:example

BGP routing table information for VRF example:example, address family IPv4 Unicast

BGP routing table entry for 192.168.20.0/24, version 40 dest ptr 0xa0fec840

Paths: (1 available, best #1)

Flags: (0x80c001a 00000000) on xmit-list, is in urib, is best urib route, is in HW, exported

vpn: version 2725, (0x100002) on xmit-list

Multipath: eBGP iBGP

Advertised path-id 1, VPN AF advertised path-id 1

Path type (0xa96485b8): internal 0x18 0x0 ref 0 adv path ref 2, path is valid, is best path

AS-Path: NONE, path sourced internal to AS

192.168.20.20 (metric 5) from 192.168.20.20 (192.168.20.20)

Origin IGP, MED not set, localpref 100, weight 0 tag 0, propagate 0

Extcommunity:

RT:65001:2162688

COST:pre-bestpath:163:1879048192

Router MAC:aaaa.bbbb.cccc

***Notice that the router mac is present here.***

VNID:2162688

VRF advertise information:

Path-id 1 not advertised to any peer

VPN AF advertise information:

Path-id 1 advertised to peers:

10.0.216.65        10.0.216.66

Controleer RIB op CL 102:

leaf-102# show ip route 192.168.20.0 vrf example:example

IP Route Table for VRF "example:example"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

192.168.20.0/24, ubest/mbest: 1/0

*via 10.0.210.70%overlay-1, [200/0], 00:00:43, bgp-65001, internal, tag 65001, rwVnid: vxlan-2162688

recursive next hop: 10.0.210.70/32%overlay-1

***Notice that we have the route here and our next-hop address is correct (showing the TEP IP of BL 101). Also, notice that there is an rwVnid entry here.***

leaf-102# acidiag fnvread | grep 101

101        1             leaf-101      <output omitted>     10.0.210.70/32    leaf         active   0

Controleer FIB op CL 102:

module-1(DBG-elam-insel6)# show forwarding route 192.168.20.0 vrf example:example

ERROR: no longest match in IPv4 table 0xf5df36b0

***No entry is present.***

Controleer de HAL tabel op CL 102:

module-1(DBG-elam-insel6)# show platform internal hal l3 routes | grep 192.168.20.0

***No entry is present.***

Pings van EP (Host 1) om in extern netwerk te ontvangen dat van externe BGP-peer komt (192.168.20.20):

Host-1# ping 192.168.20.20 vrf example

PING 192.168.20.20 (192.168.20.20): 56 data bytes

Request 0 timed out

Request 1 timed out

Request 2 timed out

Request 3 timed out

Request 4 timed out

--- 192.168.20.20 ping statistics ---

5 packets transmitted, 0 packets received, 100.00% packet loss

***No connectivity.***

Controleer ELAM op CL 102:

leaf-102# vsh_lc

module-1# debug platform internal roc elam asic 0

module-1(DBG-elam)# trigger reset

module-1(DBG-elam)# trigger init in-select 6 out-select 0

module-1(DBG-elam-insel6)# set outer ipv4 src_ip 192.168.10.10 dst_ip 192.168.20.20

module-1(DBG-elam-insel6)# start

module-1(DBG-elam-insel6)# stat

ELAM STATUS

===========

Asic 0 Slice 0 Status Armed

Asic 0 Slice 1 Status Triggered

module-1(DBG-elam-insel6)# ereport

Python available. Continue ELAM decode with LC Pkg

ELAM REPORT

<output omitted>

------------------------------------------------------------------------------------------------------------------------------------------------------

Lookup Drop

------------------------------------------------------------------------------------------------------------------------------------------------------

LU drop reason                          : UC_PC_CFG_TABLE_DROP

***Notice the drop vector here.***

Oplossing

De oplossing is om te stoppen met het verzenden van de router MAC uitgebreide community-attribuut met een IPv4 adresfamilie prefix van een externe BGP peer naar een ACI stof.

Verwijder de eerder geconfigureerde routekaart en stop met het verzenden van uitgebreide gemeenschappen van het externe BGP-peer-apparaat (router 1). Het verwijderen van een van deze configuraties, of beide, werkt:

Router-1# show run bgp

feature bgp

router bgp 65001

vrf example

router-id 192.168.20.20

address-family ipv4 unicast

network 192.168.20.0/24

neighbor 192.168.30.30

remote-as 65001

update-source loopback1

address-family ipv4 unicast

Een andere (minder wenselijke) oplossing is om alle gemeenschappen die van het externe BGP peer-apparaat worden ontvangen, eenvoudig uit te filteren door een routekaart te maken in de geconfigureerde L3Out in ACI.

Navigeer naar uw  Tenant > Policies > Protocol > Route Maps for Route Control > Create Route Maps for Route Control:

Selecteer de optie om routekaarten voor routebeheer te maken

Geef uw routekaart een naam, schakel de  Route-Map Continue  en voeg vervolgens een context toe. Selecteer de  +  pictogram in de tabel Contexten:

Routekaart maken en context maken

Geef uw context een naam en laat de standaardactie van  Permit  geselecteerd, maak vervolgens een overeenkomstregel door de  +  pictogram in het  Associated Matched Rules  tabel, en selecteer  Create Match Rule for a Route Map:

Creeer de Context van de Route en selecteer optie voor Creeer Regel van de Gelijke voor een Routekaart

Geef uw overeenkomende regel een naam en voeg vervolgens een nieuw prefix toe door het + pictogram te selecteren in het veld  Match Prefix  tabel:

Matchregel maken en matchprefix maken

Voeg het gewenste voorvoegsel toe. Dit voorbeeld laat zien hoe u een aggregaat van alle prefixes kunt toevoegen:

Bestemmingsregel voor overeenkomende route maken

Nadat u hebt geselecteerd  OK in het  Create Match Route Destination Rule  venster, ziet u dat uw prefix is toegevoegd aan  Match Prefix  tabel in de  Create Match Rule  venster:

Matchprefix is nu toegevoegd aan Matchregel

Nadat u hebt geselecteerd  Submit  in het  Create Match Rule  venster selecteert u  Update  in het  Associated Matched Rules  tabel in de  Create Route Control Context  venster:

Bijbehorende matchregel toevoegen aan routebeheercontext

Uw gekoppelde matchregel wordt nu toegevoegd aan uw context:

De bijbehorende Matchregel wordt nu toegevoegd aan Route Control Context

Selecteer vervolgens het vervolgkeuzemenu naast  Set Rule  en selecteer  Create Set Rules for a Route Map:

Selecteer optie om vastgestelde regels voor een routekaart te maken

Geef de ingestelde regel een naam en selecteer vervolgens de  Set Community  optie en laat de standaardcriteria van  No community  geselecteerd:

Regel voor routekaart maken

Nadat u Voltooien in de  Create Set Rules for a Route Map  venster ziet u de ingestelde regel geselecteerd in de  Create Route Control Context  venster:

Regel instellen wordt nu toegevoegd aan Routebeheercontext

Nadat u hebt geselecteerd  OK  in het  Create Route Control Context  venster, ziet u uw context toegevoegd aan  Contexts  tabel in de  Create Route Maps for Route Control  venster. Selecteer tot slot  Submit  Zo voltooit u de configuratie:

De context wordt nu toegevoegd aan de routekaart

Navigeer naar het connectiviteitsprofiel van BGP-peers in de L3Out en selecteer de  +  pictogram in het  Route Control Profile  tabel, voeg vervolgens uw routekaart toe met de standaardrichting van  Route Import Policy  geselecteerd:

Routekaart toevoegen aan BGP-peer connectiviteitsprofiel

Nadat u Update voor de routekaart selecteert, ziet u uw routekaart toegevoegd aan  Route Control Profile  tabel:

De routekaart wordt nu toegevoegd aan het BGP-peer connectiviteitsprofiel

*Raadpleeg het ACI Fabric L3Out-witboek voor meer informatie over de routekaartconfiguratieopties in ACI

Controleer na het implementeren van een van de bovenstaande oplossingen of het probleem is opgelost.

Controleer de BGP-status op BL 101:

leaf-101# show ip bgp 192.168.20.0 vrf example:example

BGP routing table information for VRF example:example, address family IPv4 Unicast

BGP routing table entry for 192.168.20.0/24, version 46 dest ptr 0xa0fec840

Paths: (1 available, best #1)

Flags: (0x80c001a 00000000) on xmit-list, is in urib, is best urib route, is in HW, exported

vpn: version 2731, (0x100002) on xmit-list

Multipath: eBGP iBGP

Advertised path-id 1, VPN AF advertised path-id 1

Path type (0xa96485b8): internal 0x18 0x0 ref 0 adv path ref 2, path is valid, is best path

AS-Path: NONE, path sourced internal to AS

192.168.20.20 (metric 5) from 192.168.20.20 (192.168.20.20)

Origin IGP, MED not set, localpref 100, weight 0 tag 0, propagate 0

Extcommunity:

RT:65001:2162688

COST:pre-bestpath:163:1879048192

***Notice that no router mac is present here.***

VNID:2162688

VRF advertise information:

Path-id 1 not advertised to any peer

VPN AF advertise information:

Path-id 1 advertised to peers:

10.0.216.65        10.0.216.66

Controleer RIB op CL 102:

leaf-102# show ip route 192.168.20.0 vrf example:example

IP Route Table for VRF "example:example"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

192.168.20.0/24, ubest/mbest: 1/0

*via 10.0.210.70%overlay-1, [200/0], 00:00:06, bgp-65001, internal, tag 65001

recursive next hop: 10.0.210.70/32%overlay-1

***Notice that no rwVnid entry is present here.***

Opmerking: het ontbreken of de aanwezigheid van de rwVnid-vermelding alleen bepaalt niet of het probleem zich voordoet of niet. In veel gevallen wordt de rwVnid-ingang verwijderd van de route in kwestie zodra het probleem is opgelost. Dit is echter niet altijd het geval. Controleer altijd de tabellen FIB en HAL om te controleren of het probleem is opgelost.

Controleer FIB op CL 102:

module-1(DBG-elam-insel6)# show forwarding route 192.168.20.0 vrf example:example

IPv4 routes for table example:example/base

------------------+------------------+----------------------+------------------------

Prefix            | Next-hop         | Interface/VRF        | Additional Info

------------------+------------------+----------------------+------------------------

*192.168.20.0/24      10.0.210.70        overlay-1

***Notice that we have the route here and our next-hop address is correct (showing the TEP IP of BL 101).***

Route Class-id:0x0

Policy Prefix 0.0.0.0/0

leaf-102# acidiag fnvread | grep 101

101        1             leaf-101           10.0.210.70/32    leaf         active   0

HAL-tabel op CL 102:

module-1(DBG-elam-insel6)# show platform internal hal l3 routes | grep 192.168.20.0

| 4662| 192.168.20.0/ 24| UC|  686|     20601| TRIE|   a5| 5/  0| 60a5|A|     8443|    86b6|  ef5| 1/  2|       a5|  0|      0|   f|  3|   0| 0| 1| sc,spi,dpi

***Notice that we have an entry here and it's in the correct VRF.***

module-1(DBG-elam-insel6)# hex 4662

0x1236

module-1(DBG-elam-insel6)# show platform internal hal l3 vrf pi

============================================================================================================

| -- TOR --  | - Spine -  |                ACL                  |     |

Vrf           Hw    I I Vrf     | SB    NB   | Proxy ACI  |      Ing               Egr          | vpn |

VrfId Name          VrfId I S Vnid    | BDId  BDId | Ou Bd Enc  | Lbl      Msk      Lbl      Msk      | lbl |

============================================================================================================

26    example:example         1236  0 0 210000    0     0      0     1      0        0        0        0        0

Pings van EP (Host 1) om in extern netwerk te ontvangen dat van externe BGP-peer komt (192.168.20.20):

Host-1# ping 192.168.20.20 vrf example

PING 192.168.20.20 (192.168.20.20): 56 data bytes

64 bytes from 192.168.20.20: icmp_seq=0 ttl=252 time=1.043 ms

64 bytes from 192.168.20.20: icmp_seq=1 ttl=252 time=1.292 ms

64 bytes from 192.168.20.20: icmp_seq=2 ttl=252 time=1.004 ms

64 bytes from 192.168.20.20: icmp_seq=3 ttl=252 time=0.769 ms

64 bytes from 192.168.20.20: icmp_seq=4 ttl=252 time=1.265 ms

--- 192.168.20.20 ping statistics ---

5 packets transmitted, 5 packets received, 0.00% packet loss

round-trip min/avg/max = 0.769/1.074/1.292 ms

***Connectivity is there.***

ELAM op CL 102:

leaf-102# vsh_lc

module-1# debug platform internal roc elam asic 0

module-1(DBG-elam)# trigger reset

module-1(DBG-elam)# trigger init in-select 6 out-select 0

module-1(DBG-elam-insel6)# set outer ipv4 src_ip 192.168.10.10 dst_ip 192.168.20.20

module-1(DBG-elam-insel6)# start

module-1(DBG-elam-insel6)# stat

ELAM STATUS

===========

Asic 0 Slice 0 Status Armed

Asic 0 Slice 1 Status Triggered

module-1(DBG-elam-insel6)# ereport

Python available. Continue ELAM decode with LC Pkg

ELAM REPORT

<output omitted>

------------------------------------------------------------------------------------------------------------------------------------------------------

Lookup Drop

------------------------------------------------------------------------------------------------------------------------------------------------------

LU drop reason                          : no drop

***Traffic forwards correctly.***

Gerelateerde informatie

- Dit gedrag is ook gedocumenteerd bij dit defect: Cisco bug-id CSCvx28929

- Technische ondersteuning en documentatie – Cisco Systems