Inhoud

Inleiding

Toepasselijke hardware

Nexus Tahoe ASIC ELAM Procedure

Topologie

Stap 1 - Controleer de ASIC, Slice en SRCid van de poort

Stap 2 - Bevestig de module

Stap 3 - Voer de ELAM-configuratiemodus in en specificeer de juiste ASIC uit stap 1

Stap 4 - De ELAM-trigger configureren

Stap 5 - Stel de ELAM-triggers in met SRC & DEST IP

Stap 6 - Start de ELAM

Stap 7 - Controleer of uw ELAM is geactiveerd en bekijk de resultaten

ELAM-resultaten bekijken voor NX-OS-versies van vóór 7.0(3)I5(2)

VXLAN ingesloten ELAM:

ELAM-configuratie na NX-OS 7.0(3)I7(2)

Inleiding

Dit document beschrijft de stappen die zijn gebruikt omm en ELAM (Embedded Logic AnCatalyst Module) op een reeks Cisco Nexus 9000 CloudScale ASIC-modules, biedt ondersteuning voor de meest relevante uitgangen en beschrijft hoe de resultaten moeten worden geïnterpreteerd.

Tip: Raadpleeg het ELAM-overzichtsdocument voor een overzicht van ELAM.

Toepasselijke hardware

De procedure die in dit document wordt behandeld, is alleen van toepassing op de volgende hardware:

N9K-C93180YC-EX

N9K-C92304QC

N9K-X9736C-EX

N9K-C92300YC N

N9K-C93108TC-EX

N9K-X978TC-FX switch

N9K-X9732C-EX

N9K-X97284YC-FX switch

N9K-X97160YC-EX

N9K-C93180YC-FX switch

N9K-C93180LC-EX

N9K-C93108TC-FX

N9K-C92160YC-X switch

N9K-C9348GC-FXP switch

N9K-C927Q switch

N9K-X9732C-FX switch

N9K-C9236C switch

N9K-C936C-FX2 switch

N9K-C93240YC-FX2

N9K-C93300YC-FX2

N9K-C9364C switch

N9K-C932C switch

Nexus Tahoe ASIC ELAM Procedure

Topologie

Stap 1 - Controleer de ASIC, Slice en SRCid van de poort

N9K-C92160YC-X-2# show hardware internal tah interface e1/49

IfIndex: 436232192

DstIndex: 5952

IfType: 26

Asic: 0 <<<<<<<<< Asic: 0

AsicPort: 56

SrcId: 48 <<<<<<<< Slice: 1 <<<<<<<<< PortOnSlice: 24

Voorzichtig: ELAM mag alleen op één terminalvenster worden gebruikt, aangezien u voor elke plak, lu-a2d, etc. wereldwijde inhoud bijhoudt.

Een poortkanaal (PO) kan bijvoorbeeld twee verbindingen hebben, Eth 1/53 wat overeenkomt met plak 0 en Eth 1/54 die overeenkomt met plak 1. Het opzetten van ELAM op twee afzonderlijke terminalvensters tegelijkertijd voor de verschillende plakken zal niet helpen aangezien de laatste plak (zeg plak 1) de eerste zal overschrijven (plak 0), wat uiteindelijk hetzelfde resultaat op beide terminalvensters zal opleveren.

U kunt deze informatie controleren via:

N9K-C92160YC-X-2# show system internal ethpm info interface e1/49 | i i src

IF_STATIC_INFO: port_name=Ethernet1/49,if_index:0x1a006000,ltl=5952,slot=0, nxos_port=192,dmod=1,dpid=56,

unit=0,queue=65535,xbar_unitbmp=0x0,ns_pid=255,slice_num=1,port_on_slice=24,src_id=48

Stap 2 - Bevestig de module

N9K-C92160YC-X-2# attach mod 1

Stap 3 - Voer de ELAM-configuratiemodus in en specificeer de juiste ASIC uit stap 1

module-1# debug platform internal tah elam asic 0

Stap 4 - De ELAM-trigger configureren

Opmerking: Er zijn veel opties die u hier kunt specificeren, afhankelijk van het pakket/de stroom die wordt opgenomen

module-1(TAH-elam)# trigger init asic 0 slice 1 lu-a2d 1 in-select 6 out-select 0 use-src-id 48

Tip:

- Als de in- en uitgangen op verschillende plakken op dezelfde ASIC staan, zal ELAM op de uitgang plak niet het uitgaande pakket opnemen omdat het pakket niet door de LUX-blokkeringen op de uitgang plak zal gaan en dus ELAM zal omzeilen.

- lu-a2d 0 wordt gebruikt voor reverse ELAM waarbij de trigger gebaseerd is op het resultaat en lu-a2d 1 wordt gebruikt voor ELAM waarbij de trigger gebaseerd is op pakketkenmerken

- Gebruik altijd 6 voor in-select en 0 voor out-select

Waarschuwing: Gebruik geen 0 na lu-a2d omdat de switch hierdoor kan crashen - zie CSCvd64106 voor meer informatie

Stap 5 - Stel de ELAM-triggers in met SRC & DEST IP

In dit voorbeeld is onze Source IP 192.0.2.2 en Bestemming IP is 192.0.2.1 zoals hieronder wordt weergegeven:

module-1(TAH-elam-insel6)# reset

module-1(TAH-elam-insel6)# set outer ipv4 dst_ip 192.0.2.1 src_ip 192.0.2.2

Opmerking: Zorg ervoor dat de "reset" als de "set"-opdracht in alle ELAM's zal zegevieren en kan veroorzaken dat deze niet op onverwachte velden wordt geactiveerd of geactiveerd.

Stap 6 - Start de ELAM

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

GBL_C++:  [MSG] tahusd_elam_wrapper_init:36:asic type 5 inst 0 slice 1 a_to_d 1 insel 6 outsel 0

GBL_C++:  [MSG] Inside tahusd_elam_wrapper_init

GBL_C++:  [MSG] tahusd_elam_wrapper_enable:7e:asic type 5 inst 0 slice 1 a_to_d 1

GBL_C++:  [MSG]   - writing data=0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001FD901C4E2A0000000000000000000002000000000000000000000000000000000000000000000000000000030001

GBL_C++:  [MSG]   - writing mask=0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001FFFFFFFFFFFE00000000000000000000038000000000000000000000000000000000000000000000000000001FF001

Stap 7 - Controleer of uw ELAM is geactiveerd en bekijk de resultaten

Opmerking: beginnend met NX-OS 7.0(3)I5(2) en later is er een korte versie van het ELAM-rapport zoals hieronder te zien. Als u pre-7.0(3)I5(2) draait; ga verder naar de "Bekijkende ELAM resultaten..." doorsnede.

module-1(TAH-elam-insel6)# report

SUGARBOWL ELAM REPORT SUMMARY

slot - 1, asic - 1, slice - 1

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

Incoming Interface: Eth1/49

Src Idx : 0xd, Src BD : 10

Outgoing Interface Info: dmod 1, dpid 14

Dst Idx : 0x602, Dst BD : 10

Packet Type: IPv4

Dst MAC address: CC:46:D6:6E:28:DB Src MAC address: 00:FE:C8:0E:27:15

.1q Tag0 VLAN: 10,  cos = 0x0

Dst IPv4 address: 192.0.2.1 Src IPv4 address: 192.0.2.2

Ver     =  4, DSCP    =    0, Don't Fragment = 0

Proto   =  1, TTL     =   64, More Fragments = 0

Hdr len = 20, Pkt len =   84, Checksum       = 0x667f

L4 Protocol  : 1

ICMP type    : 0

ICMP code    : 0

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

- De CLI "Report Detail" biedt u een uitgebreidere uitvoer die in de laatste sectie wordt beschreven. Dit is ook de standaarduitvoer op oudere releases.

- De Dst Idx is de niv_idx van de uitgaande interface. Dit kan worden gecontroleerd en/of aangegeven met "Toon hardware interne tah interface ex/y | i niv"

- De dmod en dpid komen overeen met de uitgangsinterface. Dit kan worden gecontroleerd met "toon systeem interne ethpm info in ex/y | Niet ingevuld"

- Daarnaast kan "show interface hardware-mapping" worden gebruikt om de dmod/dpid te valideren.

OPMERKINGEN:

1. Als u wilt bevestigen of het pakket daadwerkelijk wordt gedropt, wordt het veld "Final Drops" ALS ENIGE in overweging genomen.  Met andere woorden, terwijl u uitzonderingen kunt zien die in andere velden zoals LUA/B/C/D worden geworpen, betekent dat niet per se dat het pakket wordt gedropt. Controleer deze uitvoer zorgvuldig (bespreek dit indien nodig met de TAC).

2. Traffic punted to CPU heeft de sup_hit-vlag ingesteld (rapportdetail | grep sup_hit).

- U kunt de reden decoderen met 'toon systeem interne access-list sup-redirect-stats all' en de sup index

- Zorg ervoor dat de juiste 'systeem routing mode' is geconfigureerd (toon systeem routing mode)

- Per richtlijn en beperking gedocumenteerd in Overwegingen voor VXLAN-implementatie

- De "System Routing Mode: Template-VLAN-scale" is niet van toepassing op Cisco NX-OS release 7.0(3)I5(2) en hoger.

- Bij gebruik van VXLAN BGP VPN in combinatie met Cisco NX-OS release 7.0(3)I4(x) of NX-OS release 7.0(3)I5(1), de "System Routing Mode: template-vxlan-scale" is vereist op de volgende hardwareplatforms:

- Cisco Nexus 9300-EX Switches

- Cisco Nexus 9500 Switches met X9700-EX lijnkaarten

- Het wijzigen van de "System Routing Mode" vereist een herlading van de switch.

Voorbeeld van verkeer met CPU punt:

module-1(TAH-elam-insel6)# report

SUGARBOWL ELAM REPORT SUMMARY

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

Incoming Interface: Eth1/3

Src Idx : 0x9, Src BD : 23

Outgoing Interface Info: dmod 1, dpid 72

Dst Idx : 0x601, Dst BD : 802

Packet Type: IPv4

Dst MAC address: B0:8B:CF:A3:D0:4B

Src MAC address: 00:10:DB:FF:10:00

.1q Tag0 VLAN: 23,  cos = 0x0

Dst IPv4 address: 192.0.2.1

Src IPv4 address: 192.0.2.2

Ver     =  4, DSCP    =    2, Don't Fragment = 1

Proto   =  6, TTL     =   49, More Fragments = 0

Hdr len = 20, Pkt len =   60, Checksum       = 0x63c3

L4 Protocol  : 6

TCP Dst Port : 80

TCP Src Port : 46340

Sup hit: 1, Sup Idx : 2720  <<---- CPU punt, use below CLI to resolve the meaning of Sup Idx

Drop Info:

----------

LUA:

LUB:

LUC:

LUD:

Final Drops:

# show system internal access-list sup-redirect-stats all | grep 2720 2720  copp-system-p-acl-http 63

ELAM-resultaten bekijken voor NX-OS-versies van vóór 7.0(3)I5(2)

+ Heeft dit een dot1q header?

module-1(TAH-elam-insel6)# report | grep pr_lu_vec_l2v.qtag0 GBL_C++: [MSG] pr_lu_vec_l2v.qtag0_vld: 0x1 << dot1q yes? 0x1 GBL_C++: [MSG] pr_lu_vec_l2v.qtag0_cos: 0x0 GBL_C++: [MSG] pr_lu_vec_l2v.qtag0_de: 0x0 GBL_C++: [MSG] pr_lu_vec_l2v.qtag0_vlan: 0xA << VL 10

+ VLAN controleren:

module-1(TAH-elam-insel6)# report | grep -1 fpx_lookup_vec.lkup.macsakey.key.fid

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.vld: 0x1

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.fid_type: 0x0

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.fid_vld: 0x0

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.fid: 0xA << dec 0xa = VL 10

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.mac: 0xFEC80E2715

+ Controleer SRC MAC (u kunt dit ook in de vorige stap zien):

module-1(TAH-elam-insel6)# report | grep -i fpx_lookup_vec.lkup.macsakey.key.mac

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.mac: 0xFEC80E2715 << 00fe.c80e.2715

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.mac: 0xFEC80E2715

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.mac: 0xFEC80E2715

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.mac: 0xFEC80E2715

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.macsakey.key.mac: 0xFEC80E2715

+ Is dit een nieuwe leer?

module-1(TAH-elam-insel6)# report | grep -1 fpx_lookup_vec.sa_notify_info

GBL_C++:  [MSG]         fpx_lookup_vec.lkup.ptvec.misc1.tcp_flags: 0x0

GBL_C++:  [MSG]   fpx_lookup_vec.sa_notify_info: 0x5200000C060

GBL_C++: [MSG] fpx_lookup_vec.sa_notify_info.enable: 0x0 << This will be set to 0x1 for learning to happen

GBL_C++:  [MSG]     fpx_lookup_vec.sa_notify_info.conv_learn_only: 0x0

+ Controleer SRC en DST IP:

module-1(TAH-elam-insel6)# report | grep vec_l3v.ip.*a

GBL_C++:  [MSG]     pr_lu_vec_l3v.ip.da: 0x00000000000000000c0000201 << DST IP: 192.0.2.1

GBL_C++:  [MSG]     pr_lu_vec_l3v.ip.sa: 0x00000000000000000c0000202 << SRC IP: 192.0.2.2

+ Controleer uw toegang SRC_ID:

module-1(TAH-elam-insel6)# report | egrep SRC

GBL_C++:  [MSG]    SRCID: 0x30

module-1(TAH-elam-insel6)# report | grep vec.ihdr.ieth.hdr.src_idx

GBL_C++: [MSG] lurw_vec.ihdr.ieth.hdr.src_idx: 0xA9 << sh hardware internal tah int e1/49 | i i niv_idx

+ Als ELAM niet activeert, ziet het er als volgt uit:

module-1(TAH-elam-insel6)# report

GBL_C++:  [MSG] tahusd_elam_wrapper_report:27d:asic type 5 inst 0 slice 1 a_to_d 1 insel 6 outsel 0

GBL_C++:  [MSG] Inside tahusd_elam_wrapper_dav_report

GBL_C++: [MSG] ELAM not yet triggered <<<<<<

VXLAN ingesloten ELAM:

Aangezien VXLAN-pakketten worden ingekapseld, moet de ELAM worden geactiveerd op de INNER-header in plaats van op de BUITENheader - Zie voorbeeld hieronder voor een ARP-frame:

module-1# debug platform internal tah elam asic 0

module-1(TAH-elam)# trigger init asic 0 slice 1 in-select 7 out-select 0 use-src-id 48

module-1(TAH-elam-insel7)# reset

module-1(TAH-elam-insel7)# set inner arp source-ip-addr 192.0.2.2 target-ip-addr 192.0.2.1

module-1(TAH-elam-insel7)# start

module-1(TAH-elam-insel7)# report

ELAM-configuratie na NX-OS 7.0(3)I7(2)

Na NX-OS 7.0(3)I7(2) kan ELAM nu wereldwijd worden geactiveerd zonder het ASIC- of Slice-nummer op te geven - Zie voorbeeld hieronder:

Nexus-9K# debug platform internal tah elam

Nexus-9K(TAH-elam)# trigger init

Nexus-9K(TAH-elam-insel6)# reset

Nexus-9K(TAH-elam-insel6)# set outer ipv4 dst_ip 192.0.2.1 src_ip 192.0.2.2

Nexus-9K(TAH-elam-insel6)# start

Nexus-9K(TAH-elam-insel6)# report