SHOW

Show information on a subsystem

SHOW

Show summary information about the switch and the SDK: counters, the port map, chip parameters, units, threads and several chip diagnostics. With no argument, show prints its help.

The first word picks what to show:

  • The keywords feature/features, soc_is/soc_is_chip, param/params, unit/units and sa/sarl must be typed in full (case does not matter).

  • Any other word is first tried as a memory (table) name; show <mem> describes that table.

  • Then it is matched against the topics Pci, Counters, Errors, Interrupts, Chips, Statistics, MIB, TeMPmonitor, MaterialProcess, RingOSC, PortMAP, Rate, Voltage, LinkPhyCounter, SubPortMap, ICID and Threads. They can be abbreviated (the capital letters are required). They are tried in this order, so show c means Counters, not Chips. An unknown word prints show: Error: Invalid option <word>.

The built-in help leaves out MIB, TeMPmonitor, MaterialProcess, RingOSC, PortMAP, Rate, Voltage, LinkPhyCounter, SubPortMap, soc_is and the counter flag MmuStatus. The shell accepts all of them.

Safety on a running switch

Topic

Effect

unit, param, features, soc_is, Chips, Errors, Interrupts, Threads, sa, <mem>, PortMAP, TeMPmonitor, Pci

Read-only.

Counters

Read-only for the switch. The shell remembers the last values it showed, and Changed/Same compare against them. Other users of show counters (for example techsupport basic) therefore change what you see as “changed”.

Statistics, MIB, Rate

Force a counter synchronisation from hardware. Counter values are not changed.

RingOSC

Writes the ring-oscillator control register to take a measurement. Diagnostic only; it does not affect forwarding.

Hardware-validated

drivshell> show
Usage (SHOW): Usages:
  show Pci        - Probe and display function 0 of all busses/devices
  show CHips      - Show all driver-supported device IDs
  show Counters [Changed] [Same] [Z] [NZ] [Hex] [Raw] [<reg>][.][<pbmp>]
     Display all counters, or only specified regs and/or ports
       Changed - include counters that changed
       Same    - include counters that did not change
       Z       - include counters that are zero
       Nz      - include counters that are not zero
       All     - same as: Changed Same Z Nz
       Hex     - display counters as 64-bit hex values
       Raw     - display raw 64-bit hex values, no register name(s)
       ErDisc  - Only show those counters marked with Error/Discard
     NOTES: If neither Changed or Same is specified, Change is used.
            If neither Z or Nz is specified, Nz is used.
            Use All to display counters regardless of value.
  show Statistics [pbm] [all] - SNMP accumulated statistics, all shows 0s
  show <mem>             - memory info ("listmem" for list)
  show sa                - software ARL table
  show Errors            - logged error counts for certain errors
  show Interrupts        - interrupt counts for most interrupt types
  show params [<chip>]   - Chip parameters (chip id or current unit)
  show unit [<unit>]     - Unit list or unit parameters
  show features [all]    - Show enabled (or all) features for this unit
  show icid              - ICID of chip
  show Threads           - Show threads information.
show unit [<unit>]

Show the attached units: device name, revision and driver. With a unit number, show that unit’s parameters. SONiC’s show techsupport collects this command (scripts/generate_dump (show techsupport collector)). Read-only.

Hardware-validated

drivshell> show unit
Unit 0 chip BCM56870_A0 (current)
show param [<chip>]

Dump the SDK’s device parameters: port blocks, port lists by type, table sizes. Useful to see which ports exist when configuring breakout by hand. With no argument it shows the current unit. A number between 0x5600 and 0x56ff or 0xb000 and 0xbfff is taken as a PCI device ID, and the parameters of that chip’s driver are shown. Read-only.

Hardware-validated

drivshell> show param
driver BCM56870_A0 (trident3)
  regsfile                Id: //depot/trident3/regsfile/arch/chip_top.regs#58
  pci identifier          vendor 0x14e4 device 0xb870 rev 0x01
  classes of service      8
  maximums                block 118 ports 2048 mem_bytes 128
  blk 0           avs0           schan 59 cmic 59
  blk 1           cch_pseudo0    schan 0 cmic 0
  blk 2           clport0        schan 15 cmic 15
  blk 3           clport1        schan 16 cmic 16
  blk 4           clport2        schan 17 cmic 17
  blk 5           clport3        schan 18 cmic 18
  blk 6           clport4        schan 19 cmic 19
  blk 7           clport5        schan 20 cmic 20
  blk 8           clport6        schan 21 cmic 21
  blk 9           clport7        schan 22 cmic 22
  blk 10          clport8        schan 23 cmic 23
  blk 11          clport9        schan 24 cmic 24
  blk 12          clport10       schan 25 cmic 25
  blk 13          clport11       schan 26 cmic 26
  blk 14          clport12       schan 27 cmic 27
  blk 15          clport13       schan 28 cmic 28
  blk 16          clport14       schan 29 cmic 29
  blk 17          clport15       schan 30 cmic 30
  blk 18          clport16       schan 31 cmic 31
  blk 19          clport17       schan 32 cmic 32
  blk 20          clport18       schan 33 cmic 33
  blk 21          clport19       schan 34 cmic 34
  blk 22          clport20       schan 35 cmic 35
  blk 23          clport21       schan 36 cmic 36
  blk 24          clport22       schan 37 cmic 37
...

Hardware-validated — Parameters of the BCM56870 driver, by PCI device ID

drivshell> show params 0xb870
driver BCM56870_A0 (trident3)
  regsfile                Id: //depot/trident3/regsfile/arch/chip_top.regs#58
  pci identifier          vendor 0x14e4 device 0xb870 rev 0x01
  classes of service      8
  maximums                block 118 ports 2048 mem_bytes 128
show pmap

Show the port map: logical port, physical port, MMU port and pipe for each port, with the unicast and multicast queue bases. pmap is short for PortMAP. Read-only.

Hardware-validated

drivshell> show pmap
             pipe   logical  physical    idb mmu   ucast_Qbase/Numq  mcast_Qbase/Numq  half-pipe
      cpu0      0     0         0        64  64         0/0                650/48          0
       ce0      0     1         1         0   0         0/10                 0/10          0
       ce1      0     5         5         4   4        40/10                40/10          0
       xe0      0     9         9         8   8        80/10                80/10          0
       xe1      0    10        10         9   9        90/10                90/10          0
       xe2      0    11        11        10  10       100/10               100/10          0
       xe3      0    12        12        11  11       110/10               110/10          0
       ce2      0    13        13        12  12       120/10               120/10          0
       ce3      0    17        17        16  16       160/10               160/10          0
       ce4      0    21        21        20  20       200/10               200/10          0
       ce5      0    25        25        24  24       240/10               240/10          0
       ce6      0    29        29        28  28       280/10               280/10          0
       ce7      0    33        33        32  32       320/10               320/10          0
       ce8      0    37        37        36  36       360/10               360/10          0
       ce9      0    41        41        40  40       400/10               400/10          0
      ce10      0    45        45        44  44       440/10               440/10          0
      ce11      0    49        49        48  48       480/10               480/10          0
      ce12      0    53        53        52  52       520/10               520/10          0
      ce13      0    57        57        56  56       560/10               560/10          0
      ce14      0    61        61        60  60       600/10               600/10          0
       lb0      0    65       130        65  65         0/0                640/10          0
       xe4      1    66       129        64 192       640/10               650/10          0
      ce15      1    67        65         0 128         0/10                 0/10          0
      ce16      1    71        69         4 132        40/10                40/10          0
      ce17      1    75        73         8 136        80/10                80/10          0
      ce18      1    79        77        12 140       120/10               120/10          0
      ce19      1    83        81        16 144       160/10               160/10          0
      ce20      1    87        85        20 148       200/10               200/10          0
      ce21      1    91        89        24 152       240/10               240/10          0
      ce22      1    95        93        28 156       280/10               280/10          0
      ce23      1    99        97        32 160       320/10               320/10          0
      ce24      1   103       101        36 164       360/10               360/10          0
      ce25      1   107       105        40 168       400/10               400/10          0
      ce26      1   111       109        44 172       440/10               440/10          0
      ce27      1   115       113        48 176       480/10               480/10          0
      ce28      1   119       117        52 180       520/10               520/10          0
      ce29      1   123       121        56 184       560/10               560/10          0
      ce30      1   127       125        60 188       600/10               600/10          0
       lb1      1   131       131        65 193         0/0                640/10          0
show counters [Changed] [Same] [Zero] [NonZero] [All] [Hex] [Raw] [ErDisc] [MmuStatus] [<reg>][.][<pbmp>]

Show packet counters.

  • Changed / Same: counters that changed, or did not change, since show counters last showed them.

  • Zero / NonZero (Z and NZ): select by value.

  • All: all four of the above.

  • Hex: print 64-bit hex values. Raw: print raw values without register names.

  • ErDisc: only error and discard counters.

  • MmuStatus: accepted, but not described in the built-in help.

The defaults are Changed and NonZero. The first word that is not a flag ends the flags. It is taken as a port bitmap, or as a counter register with an optional port (RPKT.xe0). A register that is not a counter prints Register is not a counter.

Each line is <COUNTER>[(<index>)].<port> : <value> +<change> [<rate>/s]: the counter’s current value, its change since the last show counters, and a per-second rate when it changed. (<index>) is the queue for per-queue counters such as MC_PERQ_PKT(4).cpu0.

SONiC’s show techsupport collects show counters (scripts/generate_dump (show techsupport collector)). FBOSS uses show count on Tomahawk-family switches (FBOSS: BcmSwitch gatherSdkState/rcload, validated shell commands, diag shell stress test, vendor-diag-shell skill, debugging doc). Read-only for the switch.

Hardware-validated — Non-zero counters of the CPU port

drivshell> show counters changed same nz cpu0
MC_PERQ_PKT(4).cpu0           :               678,168            +678,168               3/s
MC_PERQ_BYTE(4).cpu0          :            94,317,359         +94,317,359             346/s

Hardware-validated — Only error and discard counters, including zeros

drivshell> show counters all erdisc xe0
RIPHE6_64.xe0                 :                     0                  +0
RTUN.xe0              :                     0                  +0
TPCE_64.xe0                   :                     0                  +0
CLMIB_RFLR.xe0                :                     0                  +0
CLMIB_RERPKT.xe0      :                     0                  +0
CLMIB_ROVR.xe0                :                     0                  +0
CLMIB_RJBR.xe0                :                     0                  +0
CLMIB_RMTUE.xe0       :                     0                  +0
CLMIB_RUND.xe0                :                     0                  +0
CLMIB_RFRG.xe0                :                     0                  +0
CLMIB_RRBYT.xe0       :                     0                  +0
CLMIB_RRPKT.xe0       :                     0                  +0
CLMIB_TJBR.xe0                :                     0                  +0
CLMIB_TFCS.xe0                :                     0                  +0
CLMIB_TOVR.xe0                :                     0                  +0
CLMIB_TDFR.xe0                :                     0                  +0
CLMIB_TEDF.xe0                :                     0                  +0
CLMIB_TSCL.xe0                :                     0                  +0
CLMIB_TMCL.xe0                :                     0                  +0
CLMIB_TLCL.xe0                :                     0                  +0
CLMIB_TXCL.xe0                :                     0                  +0
CLMIB_TFRG.xe0                :                     0                  +0
CLMIB_TERR.xe0                :                     0                  +0
CLMIB_TRPKT.xe0       :                     0                  +0
CLMIB_TUFL.xe0                :                     0                  +0
show Pci

Probe and print PCI function 0 of every bus and device the syncd container can see. Read-only. From inside the SONiC syncd container the probe reads nothing: all 128 rows (busses 0–3, devices 0–31) show zeros, the switch ASIC included. Use lspci on the host, or dump pcic for the ASIC’s own PCI header (see Dump SOC).

Hardware-validated

drivshell> show pci
Scanning function 0 of PCI busses 0-3, devices 0-31
bus dev fn venID devID class  rev MBAR0    MBAR1    MBAR2    MBAR3    MBAR4    MBAR5    IPIN ILINE
00  00  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  01  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  02  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  03  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  04  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  05  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  06  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  07  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  08  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  09  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  0a  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  0b  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  0c  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  0d  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  0e  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  0f  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  10  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  11  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  12  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  13  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  14  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  15  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  16  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  17  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  18  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  19  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  1a  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
00  1b  00 0000  0000  000000 00  00000000 00000000 00000000 00000000 00000000 00000000 00   00
...
show Chips

List every device ID the driver supports. Type at least ch; show c means Counters. Read-only.

Hardware-validated

drivshell> show chips
Known chips:
Index   Chip            Chip   Dev/Rev  Driver Dev/Rev
0       BCM56300_A0     0xb300 0x01      0xb504 0x01
1       BCM56301_A0     0xb301 0x01      0xb504 0x01
2       BCM56302_A0     0xb302 0x01      0xb504 0x01
3       BCM56303_A0     0xb303 0x01      0xb504 0x01
4       BCM56305_A0     0xb305 0x01      0xb504 0x01
5       BCM56306_A0     0xb306 0x01      0xb504 0x01
6       BCM56307_A0     0xb307 0x01      0xb504 0x01
7       BCM56308_A0     0xb308 0x01      0xb504 0x01
8       BCM56309_A0     0xb309 0x01      0xb504 0x01
9       BCM56300_A1     0xb300 0x02      0xb504 0x01
10      BCM56301_A1     0xb301 0x02      0xb504 0x01
11      BCM56302_A1     0xb302 0x02      0xb504 0x01
12      BCM56303_A1     0xb303 0x02      0xb504 0x01
13      BCM56305_A1     0xb305 0x02      0xb504 0x01
14      BCM56306_A1     0xb306 0x02      0xb504 0x01
15      BCM56307_A1     0xb307 0x02      0xb504 0x01
16      BCM56308_A1     0xb308 0x02      0xb504 0x01
17      BCM56309_A1     0xb309 0x02      0xb504 0x01
18      BCM56310_A0     0xb310 0x01      0xb314 0x01
19      BCM56311_A0     0xb311 0x01      0xb314 0x01
20      BCM56312_A0     0xb312 0x01      0xb314 0x01
21      BCM56313_A0     0xb313 0x01      0xb314 0x01
22      BCM56314_A0     0xb314 0x01      0xb314 0x01
23      BCM56315_A0     0xb315 0x01      0xb314 0x01
24      BCM56316_A0     0xb316 0x01      0xb314 0x01
25      BCM56317_A0     0xb317 0x01      0xb314 0x01
26      BCM56318_A0     0xb318 0x01      0xb314 0x01
27      BCM56319_A0     0xb319 0x01      0xb314 0x01
...
show Errors

Print the SDK’s logged error counts in two lines: show: Errors: SDRAM(n) CFAP(n) first-CELL(n) MMU-SR(n) and Timeout-Schan(n),MII(n). Read-only.

Hardware-validated

drivshell> show errors
SHOW: Errors: SDRAM(0) CFAP(0) first-CELL(0) MMU-SR(0)
SHOW          Timeout-Schan(0),MII(0)
show Interrupts

Print the SDK’s interrupt counts: total, S-channel, link, PCI and DMA. On a running SONiC switch almost all interrupts are table-DMA completions, and Link is 0. FBOSS collects show interrupts (FBOSS: BcmSwitch gatherSdkState/rcload, validated shell commands, diag shell stress test, vendor-diag-shell skill, debugging doc). Read-only.

Hardware-validated

drivshell> show interrupts
SHOW: Interrupts: Total(18544117) Schan-total(0),error(0) Link(0)
SHOW:             GBP-full(0) PCI-fatal(0),parity(0)
SHOW:             Table-DMA(18574128),TSlam-DMA(401)
SHOW:             Ch0-fifo-DMA(40),Ch1-fifo-DMA(0)
SHOW:             Ch2-fifo-DMA(0),Ch3-fifo-DMA(0)
SHOW:             I2C(0),MII(0),Stats(0),Desc(0),Chain(0)
show Statistics [<pbmp> [all]]

Show the SNMP-style statistics of each port in the bitmap, or of all ports. all after the bitmap also prints zero values. Counters are synchronised from hardware first. show mib is the same command. Read-only.

Hardware-validated

drivshell> show statistics xe0 all
SHOW: Statistics for Unit 0 port xe0
28621062  snmpIfInOctets (stat 0)
       0  snmpIfInUcastPkts (stat 1)
  219015  snmpIfInNUcastPkts (stat 2)
       0  snmpIfInDiscards (stat 3)
       0  snmpIfInErrors (stat 4)
       0  snmpIfInUnknownProtos (stat 5)
29128292  snmpIfOutOctets (stat 6)
       0  snmpIfOutUcastPkts (stat 7)
  218666  snmpIfOutNUcastPkts (stat 8)
       0  snmpIfOutDiscards (stat 9)
       0  snmpIfOutErrors (stat 10)
       0  snmpIfOutQLen (stat 11)
       0  snmpIpInReceives (stat 12)
       0  snmpIpInHdrErrors (stat 13)
       0  snmpIpForwDatagrams (stat 14)
       0  snmpIpInDiscards (stat 15)
       0  snmpDot1dBasePortDelayExceededDiscards (stat 16)
       0  snmpDot1dBasePortMtuExceededDiscards (stat 17)
  219015  snmpDot1dTpPortInFrames (stat 18)
  218666  snmpDot1dTpPortOutFrames (stat 19)
       0  snmpDot1dPortInDiscards (stat 20)
       0  snmpEtherStatsDropEvents (stat 21)
  437681  snmpEtherStatsMulticastPkts (stat 22)
       0  snmpEtherStatsBroadcastPkts (stat 23)
       0  snmpEtherStatsUndersizePkts (stat 24)
       0  snmpEtherStatsFragments (stat 25)
       1  snmpEtherStatsPkts64Octets (stat 26)
       0  snmpEtherStatsPkts65to127Octets (stat 27)
  430605  snmpEtherStatsPkts128to255Octets (stat 28)
...
show MIB [<pbmp> [all]]

Same as show statistics.

Hardware-validated

drivshell> show mib xe0
SHOW: Statistics for Unit 0 port xe0
28621190  snmpIfInOctets (stat 0)
  219016  snmpIfInNUcastPkts (stat 2)
29128420  snmpIfOutOctets (stat 6)
  218667  snmpIfOutNUcastPkts (stat 8)
  219016  snmpDot1dTpPortInFrames (stat 18)
  218667  snmpDot1dTpPortOutFrames (stat 19)
  437683  snmpEtherStatsMulticastPkts (stat 22)
       1  snmpEtherStatsPkts64Octets (stat 26)
  430607  snmpEtherStatsPkts128to255Octets (stat 28)
    7075  snmpEtherStatsPkts256to511Octets (stat 29)
57749610  snmpEtherStatsOctets (stat 36)
  437683  snmpEtherStatsPkts (stat 37)
  218667  snmpEtherStatsTXNoErrors (stat 40)
  219016  snmpEtherStatsRXNoErrors (stat 41)
28621190  snmpIfHCInOctets (stat 58)
  219016  snmpIfHCInMulticastPkts (stat 60)
29128420  snmpIfHCOutOctets (stat 62)
  218667  snmpIfHCOutMulticastPkts (stat 64)
  219016  snmpIfInMulticastPkts (stat 75)
  218667  snmpIfOutMulticastPkts (stat 77)
  219016  snmpBcmReceivedPkts128to255Octets (stat 92)
       1  snmpBcmTransmittedPkts64Octets (stat 99)
  211591  snmpBcmTransmittedPkts128to255Octets (stat 101)
    7075  snmpBcmTransmittedPkts256to511Octets (stat 102)
show TeMPmonitor

Read the on-chip temperature monitors. For each one it prints temperature monitor <n>: current=<c>, peak=<p>, followed by the average current temperature and the maximum peak temperature. show temp is enough. Read-only.

Hardware-validated

drivshell> show temp
temperature monitor 0: current= 41.4, peak= 45.6
temperature monitor 1: current= 40.3, peak= 45.1
temperature monitor 2: current= 40.8, peak= 44.6
temperature monitor 3: current= 42.4, peak= 46.7
temperature monitor 4: current= 46.2, peak= 51.0
temperature monitor 5: current= 45.6, peak= 49.9
temperature monitor 6: current= 41.4, peak= 45.6
temperature monitor 7: current= 46.7, peak= 51.0
temperature monitor 8: current= 43.0, peak= 46.7
temperature monitor 9: current= 45.1, peak= 49.9
temperature monitor 10: current= 44.0, peak= 47.8
temperature monitor 11: current= 41.4, peak= 45.1
average current temperature is  43.1
maximum peak temperature is 51.0
show MaterialProcess

Show process-corner information. Only first-generation Trident and Trident 2 support it; on Trident 3 it prints nothing.

Unvalidated

drivshell> show materialprocess
show RingOSC

Measure and print the chip’s ring-oscillator frequencies. It writes the ring-oscillator control register to run each measurement. This is safe for forwarding.

Unvalidated

drivshell> show ringosc
show Rate [CaptureOff | <pbmp> [all]]

Print each port’s ingress packet rate as Ingress traffic Rate[<port>] = <n> pkts/sec. The rate is computed since the previous show rate, so the first call only takes a snapshot. CaptureOff discards the snapshot. Read-only.

In the example below the first call printed a rate and the second, a second later, printed nothing, so a missing line does not mean an error.

Hardware-validated — Run twice; the second call prints the rate since the first

drivshell> show rate xe0
Ingress traffic Rate[xe0] = 124 pkts/sec
drivshell> show rate xe0
show Voltage

Print core voltages on chips that support it. Trident 3 does not, so on TD3 it prints nothing.

Unvalidated

drivshell> show voltage
show LinkPhyCounter

Katana 2 LinkPHY subport counters. The keyword is accepted, but this build prints nothing for it.

Hardware-validated

drivshell> show linkphycounter
show SubPortMap

Firebolt 6 subport map. The keyword is accepted, but this build prints nothing for it.

Hardware-validated

drivshell> show subportmap
show ICID

Print the chip’s ICID (chip identification data). On Trident 3 it prints nothing.

Hardware-validated

drivshell> show icid
show Threads

List the SDK threads of the syncd process, as TID and Name columns. The thread running the command is shown as *Main. Read-only. On a SONiC switch the list includes the L2 ageing (bcmL2age.0), link scan (bcmLINK.0), counter (bcmCNTR.0), packet receive and transmit (bcmRX, bcmTX), KNET receive and interrupt threads, and two IPROC_M0SSQ_EVE threads for the M0 cores.

Hardware-validated

drivshell> show threads
TID      Name
156      bcmL2age.0
117      bcm_bst_sync_thread
116      bcmLINK.0
115      bcmRX
97       bcmL2MOD.0
95       bcmXGS3AsyncTX
94       bcmTX
91       CtrEvict.0
90       bcmCNTR.0
86       IPROC_M0SSQ_EVE
85       IPROC_M0SSQ_EVE
84       SOC KNET RX
82       Async thread
81       socdmadesc.0
79       bcmINTR
73       bcmDPC
124      *Main
show features [all]

List the SoC features enabled on the unit, one per line under Unit <n> features: (about 520 on a Trident 3). With all, disabled features are listed too, in brackets. SONiC’s show techsupport collects show feature (scripts/generate_dump (show techsupport collector)). Read-only.

Hardware-validated

drivshell> show features
Unit 0 features:
  arl_hashed
  arl_insert_ovr
  cfap_pool
  cos_rx_dma
  dcb_type36
  ingress_metering
  egress_metering
  l3
  l3_ip6
  l3_lookup_cmd
  ip_mcast
  ip_mcast_repl
  led_proc
  led_data_offset_a0
  schmsg_alias
  stack_my_modid
  stat_dma
  cpuport_stat_dma
  table_dma
  tslam_dma
  stg
  stg_xgs
  remap_ut_prio
  xgxs_v7
  bigmac_fault_stat
  phy_cl45
  aging_extended
  modmap
  l3_sgv
...
show soc_is

Print which chip-family tests (SOC_IS_TRIDENT3X, SOC_IS_TD2_TT2 and so on) are true for the unit. This tells you which per-chip code other diagnostic commands run on this switch. soc_is_chip is a synonym. Read-only.

Hardware-validated

drivshell> show soc_is
  SOC_IS_FBX
  SOC_IS_TR_VL
  SOC_IS_TD_TT
  SOC_IS_TD2_TT2
  SOC_IS_TRIDENT3X
  SOC_IS_TRX
  SOC_IS_XGS
  SOC_IS_XGS_SWITCH
  SOC_IS_XGS3_SWITCH
show sa

Show the size of the software L2 (ARL) shadow table: Software ARL table: followed by <n> entries or none. sarl is a synonym. Read-only. Dump SA prints the entries themselves.

Hardware-validated

drivshell> show sa
Software ARL table:
1 entries

Memory information

show <mem> describes one memory (table), for example its index range and entry size. listmem lists the names. A memory name takes precedence over the topic keywords. Read-only.

Hardware-validated

drivshell> show L2_ENTRY
L2_ENTRY.ipipe0 contains 1 entries

Built-in help

Usages:
  show Pci        - Probe and display function 0 of all busses/devices
  show CHips      - Show all driver-supported device IDs
  show Counters [Changed] [Same] [Z] [NZ] [Hex] [Raw] [<reg>][.][<pbmp>]
    Display all counters, or only specified regs and/or ports
      Changed - include counters that changed
      Same    - include counters that did not change
      Z       - include counters that are zero
      Nz      - include counters that are not zero
      All     - same as: Changed Same Z Nz
      Hex     - display counters as 64-bit hex values
      Raw     - display raw 64-bit hex values, no register name(s)
      ErDisc  - Only show those counters marked with Error/Discard
    NOTES: If neither Changed or Same is specified, Change is used.
           If neither Z or Nz is specified, Nz is used.
           Use All to display counters regardless of value.
  show Statistics [pbm] [all] - SNMP accumulated statistics, all shows 0s
  show <mem>             - memory info ("listmem" for list)
  show sa                - software ARL table
  show Errors            - logged error counts for certain errors
  show Interrupts        - interrupt counts for most interrupt types
  show params [<chip>]   - Chip parameters (chip id or current unit)
  show unit [<unit>]     - Unit list or unit parameters
  show features [all]    - Show enabled (or all) features for this unit
  show icid              - ICID of chip
  show Threads           - Show threads information.

Further reading

bcmsh.md (published as https://kamelnetworks.github.io/sonic/bcmsh.html), SDK-6.5.20 HSDK Getting Started Guide (GS-SDK6520-R), plus SDK-6.5.20/21/22 Release Notes (RN-SDK65xx-R), OpenBCM sdk-6.5.27/rc: rc.soc, config.bcm, td3_sanity.soc, cmd_td3_tr514_lr.soc, tr51/tr517_bcm56870_a0.soc, bcm_diag_info.soc …, SDK-6.5.20..6.5.27 Resolved-Issues-Improvements.xlsx (7 files), sonic-mgmt test suite files invoking bcmcmd (19 files), scripts/generate_dump (show techsupport collector), Cisco Nexus 9000 Series NX-OS Programmability Guide, Release 7.x – Broadcom Shell, Cisco Nexus 9000 Series NX-OS Troubleshooting Guide, Release 9.3(x) – Troubleshooting VLANs, Open Networking Hardware Diagnostic Guide (May 2025), H3C S12500-F系列交换机 Probe命令参考(R100x系列)-6W100, FBOSS: BcmSwitch gatherSdkState/rcload, validated shell commands, diag shell stress test, vendor-diag-shell skill, debugging doc, BCM-SDK命令的使用.pdf, bcm cli 命令, bcm cmd, 交换芯片Helix4 L2 L3功能验证, bcm 使用技巧, Edgecore AS5610-52X reverse engineering: Cumulus 2.5 baseline captures, BRKDCT-3101 Nexus 9000 (Standalone) Architecture and Troubleshooting.