Listreg
List register fields
- Listreg
Shortest form:
l.List registers and show their fields. Read-only: it uses the chip description, not the hardware.
Grammar:
listreg [-alias] [-summary] <REGISTER> [<value>] listreg -counters | -ed | -type
For
<REGISTER>, an exact name prints its address, flags, and each field with its bit range and reset value; a number is taken as an address; anything else, or*, lists the registers whose names contain it (Unknown register; possible matches are:). The list is printed, but the command still counts as failed, so the SAI shell addsFailed to execute the diagnostic command. Error: Operation failed.after it. A<value>after the register is decoded into its fields, without reading the hardware. A per-port register is shown under its first instance (CLMAC_CTRL.ce0) with every block that has a copy listed underBlocks:.Options start with
-and have one-letter forms:-a(-alias, show alias names),-s(-summary, one line per register),-c(-counters, list counter registers),-e(-ed, list error/discard counters) and-t(-type, list registers by block type). Without any argument it prints its usage. If thereglist_enableconfiguration property is 0 the command does nothing.Hardware-validated
drivshell> listreg ING_CONFIG_64 Register: ING_CONFIG_64.ipipe0 alias ING_CONFIG general register address 0x4e018000 Flags: 64-bits Blocks: ipipe0 (1 copy) Description: Switch configuration register Displaying: reset defaults, reset value 0x804040000 mask 0x7ffffffffffff VFP_PRI_ACTION_FB2_MODE<25> = 0 USE_PROT_STATUS<39> = 0 USE_PPD_SOURCE<6> = 0 TUNNEL_URPF_MODE<31:30> = 0 TUNNEL_URPF_DEFAULTROUTECHECK<32> = 0 SVL_ENABLE<22> = 0 STNMOVE_ON_L2SRC_DISC<21> = 0 PARSER_2_DEFAULT_IPV4_OPTIONS_HDR_CHECKSUM_CONTROL<50> = 0 PARSER_1_DEFAULT_IPV4_OPTIONS_HDR_CHECKSUM_CONTROL<49> = 0 NAT_ENABLE<36> = 0 MY_STATION_CLASSID_SELECT<40> = 0 MLD_PKTS_UNICAST_IGNORE<4> = 0 MLD_CHECKS_ENABLE<5> = 0 LOOKUP_L2MC_WITH_FID_ID<23> = 0 LBID_RTAG<29:27> = 0 L3SRC_HIT_ENABLE<18> = 1 L3IIF_URPF_SELECT<33> = 0 L2_ENTRY_USED_AS_MY_STATION<37> = 0 L2MC_LOOKUP_USE_BROADCAST_DOMAIN<24> = 0 L2DST_HIT_ENABLE<26> = 1 IPV6_RESERVED_MC_ADDR_MLD_ENABLE<14> = 0 IPV6_MC_MACDA_CHECK_ENABLE<16> = 0 IPV4_RESERVED_MC_ADDR_IGMP_ENABLE<13> = 0 IPV4_MC_MACDA_CHECK_ENABLE<15> = 0 IPHDR_ERROR_L3_LOOKUP_ENABLE<35> = 1 ...
Hardware-validated — Register names containing CLMAC
drivshell> listreg CLMAC Unknown register; possible matches are: CLMAC_CLEAR_ECC_STATUS CLMAC_CLEAR_FIFO_STATUS CLMAC_CLEAR_RX_LSS_STATUS CLMAC_CTRL CLMAC_E2ECC_DATA_HDR_0 CLMAC_E2ECC_DATA_HDR_1 CLMAC_E2ECC_MODULE_HDR_0 CLMAC_E2ECC_MODULE_HDR_1 CLMAC_E2EFC_DATA_HDR_0 CLMAC_E2EFC_DATA_HDR_1 CLMAC_E2EFC_MODULE_HDR_0 CLMAC_E2EFC_MODULE_HDR_1 CLMAC_E2E_CTRL CLMAC_ECC_CTRL CLMAC_ECC_FORCE_DOUBLE_BIT_ERR CLMAC_ECC_FORCE_SINGLE_BIT_ERR CLMAC_EEE_1_SEC_LINK_STATUS_TIMER CLMAC_EEE_CTRL CLMAC_EEE_TIMERS CLMAC_FIFO_STATUS CLMAC_GMII_EEE_CTRL CLMAC_HIGIG_HDR_0 CLMAC_HIGIG_HDR_1 CLMAC_INTR_ENABLE CLMAC_INTR_STATUS CLMAC_LAG_FAILOVER_STATUS CLMAC_LLFC_CTRL CLMAC_MEM_CTRL CLMAC_MODE CLMAC_PAUSE_CTRL CLMAC_PFC_CTRL CLMAC_PFC_DA CLMAC_PFC_OPCODE CLMAC_PFC_TYPE CLMAC_RX_CDC_ECC_STATUS CLMAC_RX_CTRL CLMAC_RX_LLFC_MSG_FIELDS CLMAC_RX_LSS_CTRL CLMAC_RX_LSS_STATUS CLMAC_RX_MAC_SA CLMAC_RX_MAX_SIZE CLMAC_RX_TS_MEM_ECC_STATUS CLMAC_RX_VLAN_TAG CLMAC_SPARE0 CLMAC_SPARE1 CLMAC_TIMESTAMP_ADJUST CLMAC_TIMESTAMP_BYTE_ADJUST CLMAC_TXFIFO_CELL_CNT CLMAC_TXFIFO_CELL_REQ_CNT CLMAC_TX_CDC_ECC_STATUS CLMAC_TX_CRC_CORRUPT_CTRL CLMAC_TX_CTRL CLMAC_TX_LLFC_MSG_FIELDS CLMAC_TX_MAC_SA CLMAC_TX_TIMESTAMP_FIFO_DATA CLMAC_TX_TIMESTAMP_FIFO_STATUS CLMAC_VERSION_ID Failed to execute the diagnostic command. Error: Operation failed.
Hardware-validated — Decode a value into CLMAC_CTRL’s fields
drivshell> listreg CLMAC_CTRL 0x9040 Register: CLMAC_CTRL.ce0 port register address 0x00060000 Flags: 64-bits Blocks: clport0 clport1 clport2 clport3 clport4 clport5 clport6 clport7 clport8 clport9 clport10 clport11 clport12 clport13 clport14 clport15 clport16 clport17 clport18 clport19 clport20 clport21 clport22 clport23 clport24 clport25 clport26 clport27 clport28 clport29 clport30 clport31 [clport32] (33 copies, 1 disabled) Description: MAC control. Displaying: value 0x9040, reset value 0x9040 mask 0xffff XGMII_IPG_CHECK_DISABLE<11> = 0 TX_EN<0> = 0 SW_LINK_STATUS<12> = 1 SOFT_RESET<6> = 1 RX_EN<1> = 0 RS_SOFT_RESET<10> = 0 RSVD_5<9> = 0 RSVD_4<7> = 0 RSVD_1<3> = 0 REMOVE_FAILOVER_LPBK<4> = 0 LOCAL_LPBK_LEAK_ENB<8> = 0 LOCAL_LPBK<2> = 0 LINK_STATUS_SELECT<13> = 0 LAG_FAILOVER_EN<5> = 0 EXTENDED_HIG2_EN<15> = 1 ALLOW_40B_AND_GREATER_PKTS<14> = 0
- Listreg -counters
List every counter register of the unit.
-edlists only the error/discard counters;-typelists all registers grouped by block type.Hardware-validated
drivshell> listreg -c unit 0 counters CLMIB_R64 CLMIB_R127 CLMIB_R255 CLMIB_R511 CLMIB_R1023 CLMIB_R1518 CLMIB_R2047 CLMIB_R4095 CLMIB_R9216 CLMIB_R16383 CLMIB_RALN CLMIB_RBCA CLMIB_RBYT CLMIB_RDVLN CLMIB_RERPKT CLMIB_RFCR CLMIB_RFCS CLMIB_RFLR CLMIB_RFRG CLMIB_RJBR CLMIB_RMCA CLMIB_RMCRC CLMIB_RMGV CLMIB_RMTUE CLMIB_ROVR CLMIB_RPFC0 CLMIB_RPFC1 CLMIB_RPFC2 CLMIB_RPFC3 CLMIB_RPFC4 CLMIB_RPFC5 CLMIB_RPFC6 CLMIB_RPFC7 CLMIB_RPFCOFF0 CLMIB_RPFCOFF1 CLMIB_RPFCOFF2 CLMIB_RPFCOFF3 CLMIB_RPFCOFF4 CLMIB_RPFCOFF5 CLMIB_RPFCOFF6 CLMIB_RPFCOFF7 CLMIB_RPKT CLMIB_RPOK CLMIB_RPRM CLMIB_RPROG0 CLMIB_RPROG1 CLMIB_RPROG2 CLMIB_RPROG3 CLMIB_RRBYT CLMIB_RRPKT CLMIB_RSCHCRC CLMIB_RTRFU CLMIB_RUCA CLMIB_RUND CLMIB_RVLN CLMIB_RXCF CLMIB_RXPF CLMIB_RXPP CLMIB_RXUDA CLMIB_RXUO CLMIB_RXWSA CLMIB_RX_EEE_LPI_DURATION_COUNTER CLMIB_RX_EEE_LPI_EVENT_COUNTER CLMIB_RX_HCFC_COUNTER CLMIB_RX_HCFC_CRC_COUNTER CLMIB_RX_LLFC_CRC_COUNTER CLMIB_RX_LLFC_LOG_COUNTER CLMIB_RX_LLFC_PHY_COUNTER CLMIB_T64 CLMIB_T127 CLMIB_T255 CLMIB_T511 CLMIB_T1023 CLMIB_T1518 CLMIB_T2047 CLMIB_T4095 CLMIB_T9216 CLMIB_T16383 CLMIB_TBCA CLMIB_TBYT CLMIB_TDFR CLMIB_TDVLN CLMIB_TEDF CLMIB_TERR CLMIB_TFCS CLMIB_TFRG CLMIB_TJBR CLMIB_TLCL CLMIB_TMCA CLMIB_TMCL CLMIB_TMGV CLMIB_TNCL CLMIB_TOVR CLMIB_TPFC0 CLMIB_TPFC1 CLMIB_TPFC2 CLMIB_TPFC3 CLMIB_TPFC4 CLMIB_TPFC5 CLMIB_TPFC6 CLMIB_TPFC7 CLMIB_TPFCOFF0 CLMIB_TPFCOFF1 CLMIB_TPFCOFF2 CLMIB_TPFCOFF3 CLMIB_TPFCOFF4 CLMIB_TPFCOFF5 CLMIB_TPFCOFF6 CLMIB_TPFCOFF7 CLMIB_TPKT CLMIB_TPOK CLMIB_TRPKT CLMIB_TSCL CLMIB_TUCA CLMIB_TUFL CLMIB_TVLN CLMIB_TXCF CLMIB_TXCL CLMIB_TXPF CLMIB_TXPP CLMIB_TX_EEE_LPI_DURATION_COUNTER CLMIB_TX_EEE_LPI_EVENT_COUNTER CLMIB_TX_HCFC_COUNTER CLMIB_TX_LLFC_LOG_COUNTER CLMIB_XTHOL EGR_ECN_COUNTER_64 IBCAST_64 ICTRL_64 IIPMC_64 ILTOMC_64 IMRP4_64 IMRP6_64 ING_ECN_COUNTER_64 ...
Built-in help
Usage: listreg [options] regname [value] Options: -alias/-a display aliases -summary/-s display single line summary for each reg -counters/-c display counters -ed/-e display error/discard counters -type/-t display registers grouped by block type If regname is '*' or does not match a register name, a substring match is performed. [] indicates register array. If regname is a numeric address, the register that resides at that address is displayed.Further reading
BCM_SDK命令, bcm cmd, Juniper QFX5100 Series (Douglas Richard Hanks Jr., O’Reilly), Appendix A ‘Under the Hood’ – The Broadcom Shell / Broadcom Shell and cprod.