In dit document worden de stappen beschreven die zijn gebruikt om een ELAM op een Cisco Nexus 7000 (N7K) F2-module uit te voeren, wordt de meest relevante output uitgelegd en wordt beschreven hoe de resultaten moeten worden geïnterpreteerd.
In dit voorbeeld, een host op VLAN 10 (10.1.1.101 met MAC-adres 0050.56a1.1a01), stuurt port Eth6/4 een aanvraag voor Internet Control Message Protocol (ICMP) naar een host die ook op VLAN 10 is (10.1.102 met MAC-adres 0050.56a1.1aef), poort 3/3. ELAM wordt gebruikt om dit enkele frame op te nemen van 10.1.1.101 tot 10.1.1.102. Het is belangrijk om niet te vergeten dat ELAM u slechts één kader toestaat.
Als u een ELAM op N7K wilt uitvoeren, moet u eerst verbinding maken met de juiste module (dit vereist het netwerk-admin privilege):
N7K# attach module 6
Attaching to module 6 ...
To exit type 'exit', to abort type '$.'
module-6#
Verwacht wordt dat het verkeer de switch ingaat op poort Eth6/4. Wanneer u de modules in het systeem controleert, ziet u dat Module 6 een F2-module is. Het is belangrijk te onthouden dat N7K volledig is verdeeld en dat de modules, en niet de toezichthouder, de doorvoerbeslissingen nemen voor dataplaneverkeer.
N7K# show module 6
Mod Ports Module-Type Model Status
--- ----- --------------------------- ------------------ -------
6 48 1/10 Gbps Ethernet Module N7K-F248XP-25E ok
Voor F2-modules, voer het ELAM uit op Layer 2 (L2) Forwarding Engine (FE) met interne codenaam Clipper. Merk op dat de L2 FE Data Bus (DBUS) de oorspronkelijke header informatie bevat voordat L2 en Layer 3 (L3) raadpleging wordt gehouden en dat de Resultaatbus (RBUS) de resultaten bevat na zowel L3- als L2-raadpleging.
N7K F2 heeft 12 FE's per module, dus moet u de Clipper ASIC bepalen die voor de FE op poort Eth6/4 wordt gebruikt. Voer deze opdracht in om te verifiëren:
module-6# show hardware internal dev-port-map
--------------------------------------------------------------
CARD_TYPE: 48 port 10G
>Front Panel ports:48
--------------------------------------------------------------
Device name Dev role Abbr num_inst:
--------------------------------------------------------------
> Clipper FWD DEV_LAYER_2_LOOKUP L2LKP 12
+-----------------------------------------------------------------------+
+----------------+++FRONT PANEL PORT TO ASIC INSTANCE MAP+++------------+
+-----------------------------------------------------------------------+
FP port | PHYS | MAC_0 | L2LKP | L3LKP | QUEUE |SWICHF
...
3 0 0 0 0 0 0
4 0 0 0 0 0 0
In de output kunt u zien dat port Eth6/4 op Clipper (L2LKP) instantie 0 staat.
module-6# elam asic clipper instance 0
module-6(clipper-elam)# layer2
module-6(clipper-l2-elam)#
De Clipper ASIC ondersteunt ELAM triggers voor meerdere frame types. De ELAM trigger moet uitlijnen op het frame type. Als het frame een IPv4-frame is, moet de trigger ook IPv4 zijn. Een IPv4-frame wordt niet opgenomen met een andere trigger. Dezelfde logica is van toepassing op IPv6.
De Clipper ASIC ondersteunt deze frame-types:
module-6(clipper-l2-elam)# trigger dbus ?
arp ARP Frame Format
fc Fc hdr Frame Format
ipv4 IPV4 Frame Format
ipv6 IPV6 Frame Format
other L2 hdr Frame Format
pup PUP Frame Format
rarp Rarp hdr Frame Format
valid On valid packet
Met Nexus Operating Systems (NX-OS) kunt u het vraagteken gebruiken om de ELAM-trigger te splitsen. Er zijn verschillende opties beschikbaar voor ELAM op de F2-module:
module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if ?
<CR>
destination-ipv4-address destination ipv4 address
destination-mac-address Inner destination mac address
source-index Source index
source-ipv4-address source ipv4 address
source-mac-address Inner source mac address
vlan Vlan
etc?
Dit voorbeeld, wordt het kader opgenomen gebaseerd op de bron en de bestemming IPv4 adressen, zodat slechts die waarden worden gespecificeerd.
Clipper vereist dat de triggers voor de DBUS en de RBUS worden ingesteld. Dit verschilt van M-Series modules, omdat er geen vereiste is dat u een instantie Packet Buffer (PB) moet specificeren. Dit vereenvoudigt de RBUS-trigger.
Hier is de DBUS-trigger:
module-6(clipper-l2-elam)# trigger dbus ipv4 ingress if source-ipv4-address
10.1.1.101 destination-ipv4-address 10.1.1.102
Hier is de RBUS-trigger:
module-6(clipper-l2-elam)# trigger rbus ingress if trig
Nu de INGress FE is geselecteerd en u de trigger hebt ingesteld, kunt u de opname starten:
module-6(clipper-l2-elam)# start
Om de status van de ELAM te controleren voert u de opdracht status in:
module-6(clipper-l2-elam)# status
ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102
L2 DBUS Armed
ELAM instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS Armed
Zodra het kader dat met de trigger overeenkomt door de FE wordt ontvangen, toont de ELAM-status als Trigge:
module-6(clipper-l2-elam)# status
ELAM instance 0: L2 DBUS Configuration: trigger dbus ipv4 ingress if
source-ipv4-address 10.1.1.101 destination-ipv4-address 10.1.1.102
L2 DBUS Triggered
ELAM instance 0: L2 RBUS Configuration: trigger rbus ingress if trig
L2 RBUS Triggered
Om de ELAM-resultaten weer te geven, typt u de opdrachten van de showbus en showbus. Hier is het fragment uit de ELAM-gegevens dat het meest relevant is voor dit voorbeeld (een deel van de output wordt weggelaten):
module-6(clipper-l2-elam)# show dbus
--------------------------------------------------------------------
L2 DBUS CONTENT - IPV4 PACKET
--------------------------------------------------------------------
...
vlan : 0xa destination-index : 0x0
source-index : 0x3 bundle-port : 0x0
sequence-number : 0x3f vl : 0x0
...
source-ipv4-address: 10.1.1.101
destination-ipv4-address: 10.1.1.102
destination-mac-address: 0050.56a1.1aef
source-mac-address: 0050.56a1.1a01
module-6(clipper-l2-elam)# show rbus
--------------------------------------------------------------------
L2 RBUS INGRESS CONTENT
--------------------------------------------------------------------
l2-rbus-trigger : 0x1 sequence-number : 0x3f
di-ltl-index : 0x2 l3-multicast-di : 0x0
source-index : 0x3 vlan-id : 0xa
Met de DBUS-gegevens kunt u controleren of het frame op VLAN 10 (VLAN: 0xa) met een MAC-adres van 0050.56a1.1a01 en een MAC-adres van 0050.56a1.1aef. Je kunt ook zien dat dit een IPv4 frame is dat afkomstig is van 10.1.101 en dat bestemd is voor 10.1.102.
Om te verifiëren op welke poort het frame is ontvangen, voert u de opdracht SRC_INDEX in (de bron Local Target Logic (LTL)). Voer deze opdracht in om een LTL in kaart te brengen naar een poort of groep poorten voor N7K:
N7K# show system internal pixm info ltl 0x3
Type LTL
---------------------------------
PHY_PORT Eth6/4
De output laat zien dat een bron-index van 0x3 kaarten naar poort Eth6/4 toont. Dit bevestigt dat het kader op port Eth6/4 wordt ontvangen.
Met de RBUS-gegevens kunt u controleren of het frame op VLAN 10 (VLAN-id: 0xa). Daarnaast kunt u de bovenlooppoort van de di-ltl-index (bestemming LTL) bevestigen:
N7K# show system internal pixm info ltl 0x2
Type LTL
---------------------------------
PHY_PORT Eth6/3
De output laat zien dat een di-ltl-index van 0x2 kaarten naar poort Eth6/3. Dit bevestigt dat het frame van poort Eth6/3 is overgeschakeld.
Om te verifiëren hoe de switch de LTL pool toewijst, voert u de opdracht interne elf van het showsysteem info ltl-regio in. De output van deze opdracht is nuttig om het doel van een LTL te begrijpen als het niet aan een fysieke poort wordt aangepast. Een goed voorbeeld hiervan is een Drop LTL:
N7K# show system internal pixm info ltl 0x11a0
0x11a0 is not configured
N7K# show system internal pixm info ltl-region
LTL POOL TYPE SIZE RANGE
=====================================================================
DCE/FC Pool 1024 0x0000 to 0x03ff
SUP Inband LTL 32 0x0400 to 0x041f
MD Flood LTL 1 0x0420
Central R/W 1 0x0421
UCAST Pool 1536 0x0422 to 0x0a21
PC Pool 1720 0x0a22 to 0x10d9
LC CPU Pool 32 0x1152 to 0x1171
EARL Pool 72 0x10da to 0x1121
SPAN Pool 48 0x1122 to 0x1151
UCAST VDC Use Pool 16 0x1172 to 0x1181
UCAST Generic Pool 30 0x1182 to 0x119f
LISP Pool 4 0x1198 to 0x119b
Invalid SI 1 0x119c to 0x119c
ESPAN SI 1 0x119d to 0x119d
Recirc SI 1 0x119e to 0x119e
Drop DI 2 0x119f to 0x11a0
UCAST (L3_SVI_SI) Region 31 0x11a1 to 0x11bf
UCAST (Fex/GPC/SVI-ES) 3648 0x11c0 to 0x1fff
UCAST Reserved for Future Use Region 2048 0x2000 to 0x27ff
======================> UCAST MCAST BOUNDARY <======================
VDC OMF Pool 32 0x2800 to 0x281f