Introduction
Ce document décrit comment vérifier la réécriture MAC Nexus sur les commutateurs basés sur Tahoe.
Conditions préalables
Exigences
Cisco vous recommande de prendre connaissance des rubriques suivantes :
- Plate-forme NXOS
- Routage
- ELAM
Composants utilisés
Nom |
Plateforme |
Version |
N9K1 |
N9K-C93108TC-EX |
9.3(10) |
N9K2 |
N9K-C93108TC-EX |
9.3(10) |
N9K3 |
N9K-C93108TC-EX |
9.3(10) |
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Topologie

Fond
Dans le processus de routage IP, lorsque des paquets traversent le réseau de la source à la destination, les adresses MAC source et de destination sont mises à jour à chaque saut, tandis que les adresses IP source et de destination restent inchangées. Lorsqu’un paquet atteint un routeur, ce dernier examine l’adresse IP de destination pour déterminer le tronçon suivant sur le chemin vers sa destination finale. Le routeur transfère ensuite le paquet au saut suivant en permutant l’adresse MAC de destination avec l’adresse MAC de l’interface de saut suivant et en mettant à jour l’adresse MAC source vers sa propre adresse MAC d’interfaces sortantes.
Cette permutation garantit que le paquet peut être correctement livré au routeur suivant ou à la destination finale sur le réseau local. Pendant ce temps, les adresses IP source et de destination restent constantes tout au long du trajet, car elles sont utilisées pour maintenir le chemin de bout en bout et garantir que le paquet atteint la bonne destination sur plusieurs segments de réseau potentiels.
Vérification de la réécriture MAC
Afin de vérifier si la réécriture mac est effectuée correctement sur les commutateurs basés sur Nexus 9K Tahoe, deux composants doivent être vérifiés, l'adresse mac de tronçon suivant et la décision de transfert Nexus.
Pour cet exemple, Nexus reçoit un paquet avec les macros source et de destination affichées, ces macros doivent être réécrites afin d'atteindre la destination :
N9K2# debug platform internal tah elam
N9K2(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
N9K2(TAH-elam-insel6)# set outer ipv4 dst_ip 172.16.1.2
N9K2(TAH-elam-insel6)# start
N9K2(TAH-elam-insel6)# report
SUGARBOWL ELAM REPORT SUMMARY
slot - 1, asic - 0, slice - 0
============================
Incoming Interface: Eth1/1
Src Idx : 0x1, Src BD : 4100
Outgoing Interface Info: dmod 1, dpid 17
Dst Idx : 0x5, Dst BD : 4101
Packet Type: IPv4
Dst mac address: 70:0F:6A:95:1C:F9
Src mac address: 70:0F:6A:5E:6A:3F
Dst IPv4 address: 172.16.1.2
Src IPv4 address: 172.16.1.1
Ver = 4, DSCP = 0, Don't Fragment = 0
Proto = 1, TTL = 255, More Fragments = 0
Hdr len = 20, Pkt len = 84, Checksum = 0x9ebb
L4 Protocol : 1
ICMP type : 8
ICMP code : 0
Vérification de l'adresse MAC du tronçon suivant
Dans ce document, afin de vérifier l'adresse MAC du saut suivant , les tables de routage et ARP peuvent être vérifiées.
Pour cet exemple, sur N9K2 va être examiné sur la façon dont sa réécriture de l'adresse MAC pour la destination 172.16.1.2.
Vérification de la table de routage
N9K2# show ip route 172.16.1.2
<Snipped>
172.16.1.2/32, ubest/mbest: 1/0
*via 192.168.1.2, [1/0], 00:09:30, static
La route vers le tronçon suivant doit être vérifiée jusqu’à ce qu’une interface physique soit trouvée comme interface de sortie.
N9K2# show ip route 192.168.1.2
<Snipped>
192.168.1.2/32, ubest/mbest: 1/0, attached
*via 192.168.1.2, Eth1/2, [250/0], 00:12:23, am
Une fois qu’une route attachée est observée et apprise par le gestionnaire de contiguïté (AM), vous pouvez continuer à vérifier l’entrée ARP pour ce saut suivant
N9K2# show ip arp 192.168.1.2
<Snipped>
IP ARP Table
Total number of entries: 1
Address Age mac Address Interface Flags
192.168.1.2 00:14:56 700f.6a5e.6d5b Ethernet1/2
700f.6a5e.6d5b est le mac que Nexus doit utiliser comme mac de destination pour la réécriture du routage.
Vérification de la décision de transfert Nexus (réécriture MAC)
Afin de vérifier la décision de transfert Nexus, une capture ELAM doit être prise, en particulier le rapport détaillé est utilisé dans la section RW.
N9K2# debug platform internal tah elam
N9K2(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
N9K2(TAH-elam-insel6)# set outer ipv4 dst_ip 172.16.1.2
N9K2(TAH-elam-insel6)# start
Une requête ping vers la destination doit être exécutée
N9K1# ping 172.16.1.2 source 172.16.1.1
PING 172.16.1.2 (172.16.1.2) from 172.16.1.1: 56 data bytes
64 bytes from 172.16.1.2: icmp_seq=0 ttl=253 time=0.906 ms
64 bytes from 172.16.1.2: icmp_seq=1 ttl=253 time=0.599 ms
64 bytes from 172.16.1.2: icmp_seq=2 ttl=253 time=0.589 ms
64 bytes from 172.16.1.2: icmp_seq=3 ttl=253 time=0.556 ms
64 bytes from 172.16.1.2: icmp_seq=4 ttl=253 time=0.55 ms
--- 172.16.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min/avg/max = 0.55/0.64/0.906 ms
Une fois que le paquet a atteint N9K2, Nexus doit effectuer une recherche (lu) dans la table de contiguïté Tah L3 pour rassembler le mac de destination, Nexus doit placer ce mac dans la réécriture (rw).
N9K2(TAH-elam-insel6)# report detail | i i lurw_vec.dst_addr
GBL_C++: [MSG] sug_lurw_vec.dst_addr: 0x700F6A5E6D5B
Nexus décide d'utiliser mac 700F6A5E6D5B comme adresse mac de destination pour la réécriture de paquet, avec cette information, il peut être confirmé que Nexus effectue la réécriture correcte comme correspondant à l'adresse mac de destination prise des sorties précédentes (70:0f:6a:5e:6d:5b).
Vérification de l'adresse MAC source suivante
Pour l'adresse mac source du paquet, Nexus doit utiliser l'adresse mac de l'interface de sortie utilisée pour atteindre 172.16.1.2. Dans cet exemple, Nexus va utiliser l'adresse mac 1/2 de l'interface Ethernet.
N9K2# show interface ethernet 1/2 mac-address
--------------------------------------------------------------------------------
Interface mac-Address Burn-in mac-Address
--------------------------------------------------------------------------------
Ethernet1/2 700f.6a95.1cf9 700f.6a95.1cfb
Vérification finale
La vérification peut être effectuée dans le périphérique du saut suivant. Dans cet exemple, un ELAM peut être exécuté dans N9K3
Pour cet exemple avec les sorties précédentes, il est prévu que Nexus utilise :
Mac source : 700f.6a95.1cf9
MAC de destination : 70:0f:6a:5e:6d:5b
N9K3# debug platform internal tah elam
N9K3(TAH-elam)# trigger init
Slot 1: param values: start asic 0, start slice 0, lu-a2d 1, in-select 6, out-select 0
N9K3(TAH-elam-insel6)# set outer ipv4 dst_ip 172.16.1.2
N9K3(TAH-elam-insel6)# start
N9K3(TAH-elam-insel6)# report
SUGARBOWL ELAM REPORT SUMMARY
slot - 1, asic - 0, slice - 0
============================
Incoming Interface: Eth1/1
Src Idx : 0x5, Src BD : 4101
Outgoing Interface Info: dmod 0, dpid 0
Dst Idx : 0x5bf, Dst BD : 4101
Packet Type: IPv4
Dst mac address: 70:0F:6A:5E:6D:5B
Src mac address: 70:0F:6A:95:1C:F9
Sup hit: 1, Sup Idx: 2788
Dst IPv4 address: 172.16.1.2
Src IPv4 address: 172.16.1.1
Ver = 4, DSCP = 0, Don't Fragment = 0
Proto = 1, TTL = 254, More Fragments = 0
Hdr len = 20, Pkt len = 84, Checksum = 0x9fc0