Saya ingin menambahkan ELAM dalam campuran. ELAM didukung pada PFC3 (6500, 7600).
Anda harus mengaktifkan 'internal layanan', tetapi fitur ini cukup aman untuk dijalankan, saya sudah menjalankannya dengan baik di jaringan produksi dan belum pernah mengalami dampak negatif.
Pada dasarnya apa yang ELAM lakukan adalah menunjukkan kepada Anda apa yang dikirim untuk pemrosesan pencarian ke PFC melalui DBUS (Data BUS) dan apa yang PFC berikan sebagai hasil pencarian dalam RBUS (BUS Hasil).
- tunjukkan plat cap elam asic slot superman DFC / PFC_SLOT_YOU_WANT_TO_LOOK
- tampilkan plat cap elam trigger dbus ipv4 jika ip_sa = 192.0.2.1
- tunjukkan plat cap elam start
- tunjukkan data plat cap elam
Untuk pemicu ada bantuan online, IP_SA == Alamat Sumber IP, IP_DA == Alamat Tujuan IP, banyak yang lain tersedia. JIKA apa yang ingin Anda periksa tidak tersedia, Anda dapat melakukan data + mask cocok untuk data sewenang-wenang pada 64B pertama.
Pemicu sewenang-wenang agak canggung tetapi bisa menjadi penyelamat, Anda akan menggunakannya seperti ini:
tampilkan platform capture elam trigger dbus others jika data = DATA1 DATA2 DATAn [MASK1 MASK2 MASKn]
Data dimulai dari DMAC. Jadi misalkan kita ingin menangkap tumpukan MPLS [0 1951] yang masuk, tetapi kita tidak peduli dengan alamat MAC, kita bisa melakukan ini:
perlihatkan platform capture elam trigger dbus others jika data = 0 0 0 0x88470000 0x00000079 0xF0000000 [0 0 0 0xffffffff 0xf000ffff 0xf0000000]
Output contoh mungkin:
7600#show platform capture elam data
DBUS data:
SEQ_NUM [5] = 0x1D
QOS [3] = 1
QOS_TYPE [1] = 0
TYPE [4] = 0 [ETHERNET]
STATUS_BPDU [1] = 0
IPO [1] = 1
NO_ESTBLS [1] = 0
RBH [3] = b000 ! port-channel hash
CR [1] = 1 ! recirculated
TRUSTED [1] = 1
NOTIFY_IL [1] = 0
NOTIFY_NL [1] = 0
DISABLE_NL [1] = 0
DISABLE_IL [1] = 0
DONT_FWD [1] = 0
INDEX_DIRECT [1] = 0
DONT_LEARN [1] = 0
COND_LEARN [1] = 0
BUNDLE_BYPASS [1] = 0
QOS_TIC [1] = 1
INBAND [1] = 0
IGNORE_QOSO [1] = 0
IGNORE_QOSI [1] = 0
IGNORE_ACLO [1] = 0
IGNORE_ACLI [1] = 0
PORT_QOS [1] = 0
CACHE_CNTRL [2] = 0 [NORMAL]
VLAN [12] = 4086
SRC_FLOOD [1] = 0
SRC_INDEX [19] = 0xC0 ! divmod64(0xc0) = 3,0, add 1 to each, 4/1 == our physical port
LEN [16] = 102
FORMAT [2] = 0 [IP]
MPLS_EXP [3] = 0x0
REC [1] = 0
NO_STATS [1] = 0
VPN_INDEX [10] = 0x7F
PACKET_TYPE [3] = 0 [ETHERNET]
L3_PROTOCOL [4] = 0 [IPV4]
L3_PT [8] = 1 [ICMP]
MPLS_TTL [8] = 0
SRC_XTAG [4] = 0xF
DEST_XTAG [4] = 0xA
FF [1] = 0
MN [1] = 0
RF [1] = 1
SC [1] = 0
CARD_TYPE [4] = 0x0
DMAC = 8843.e1de.22c0
SMAC = 0000.0000.0000
IPVER [1] = 0 [IPV4]
IP_DF [1] = 1
IP_MF [1] = 0
IP_HDR_LEN [4] = 5
IP_TOS [8] = 0x0
IP_LEN [16] = 84
IP_HDR_VALID [1] = 1
IP_CHKSUM_VALID [1] = 1
IP_L4HDR_VALID [1] = 1
IP_OFFSET [13] = 0
IP_TTL [8] = 63
IP_CHKSUM [16] = 0xBCF1
IP_SA = x.x.x ! to protect the guilty
IP_DA = y.y.y.y ! to protect the guilty
ICMP_TYPE [8] = 0x8
ICMP_CODE [8] = 0x0
ICMP_DATA [104]
0000: A0 8B 18 A5 00 39 46 35 BF 51 00 6F 3C ".....9F5.Q.o<"
CRC [16] = 0x71B3
RBUS data:
SEQ_NUM [5] = 0x1D
CCC [3] = b100 [L3_RW] ! normal L3_RW, we know it was not dropped, L2/mls policed etc
CAP1 [1] = 0
CAP2 [1] = 0
QOS [3] = 0
EGRESS [1] = 0
DT [1] = 0 [IP]
TL [1] = 0 [B32]
FLOOD [1] = 1
DEST_INDEX [19] = 0x3E8 ! same as VLAN, but not always
VLAN [12] = 1000 ! you may need to check internal vlan
RBH [3] = b111 ! again, port-channel hash
RDT [1] = 0
GENERIC [1] = 0
EXTRA_CICLE [1] = 0
FABRIC_PRIO [1] = 0
L2 [1] = 0
FCS1 [8] = 0x1
IP_TOS_VALID [1] = 1
IP_TOS_OFS [7] = 15
IP_TOS [8] = 0x0
IP_TTL_VALID [1] = 1
IP_TTL_OFS [7] = 22
IP_TTL [8] = 62
IP_CSUM_VALID [1] = 1
IP_CSUM_OFS [7] = 24
IP_CSUM [16] = 0xBDF1
DELTA_LEN [8] = 0
REWRITE_INFO
i0 - replace bytes from ofs 0 to ofs 11 with seq 'D0 D0 FD 09 34 2D 88 43 E1 DE 22 C0'. ! this is the actual L2 rewrite data, so you should obviously see DMAC and SMAC here
FCS2 [8] = 0x0
7600#
Hampir semua platform yang lebih besar memiliki jenis tangkapan tingkat rendah untuk paket transit, yang sangat berguna ketika Anda perlu memverifikasi HW melakukan apa yang dikatakan konfigurasi, kadang-kadang ada cacat perangkat lunak dan melakukan hal lain dari yang diharapkan.
Saya tahu bahwa di GSR Anda dapat melihat transit di memori, di Juniper Trio ada alat yang cukup bagus untuk itu. Brocade dapat melakukannya. Cukup membingungkan mereka tidak didokumentasikan di halaman vendor.