BCMSAI
SAI BCM shell commands
- BCMSAI
Added to the shell at runtime rather than built in.
Debug commands of the Broadcom SAI itself, as opposed to the SDK. The SAI adds
BCMSAIto the shell when it creates the switch, so it is available oncesyncdhas finished initialising. It replaces any SDK command of the same name.Keywords are matched case-insensitively and each can be abbreviated: the upper-case letters of a keyword below are the characters an abbreviation must contain. The first keyword that matches wins. Numbers are decimal only, and anything that is not a number reads as 0. Most dumps always show unit 0, whatever unit prefix the command line has.
BCMSAIwith no argument prints the built-in help below. An unknown first word prints no help; thedrivshell>front-end reports it as “Failed to execute the diagnostic command” (see The drivshell> front-end).Many dumps print only their headings on a SONiC Trident 3 switch, because the feature behind them is not in use or not available on the chip:
L2Ecmp,VlanStack,MPTnl(no VXLAN tunnels),srv6(SRV6 not enabled),clm(CLM supported: NO) and theflexctr port-*forms (Not supported on non LTSW devices).The built-in help does not match the actual behaviour everywhere; the entries below document what the shell really accepts. See
SyncDB,Hamem,Aclandroute.Safety summary Sub-command
Effect
VERsion,ObjectState(dump forms),Memtrack,Hamem,Scaletrack,MPTnl,L2Ecmp,VlanStack,SamplePacket,route,flexctr,Acl,LoadBalance,WBInfo,dump_eapp_config,clm show,clm port <id> get delay,srv6dumpsDisplay only.
ApiLog,CintPrint a fixed “not included in SAI build” message.
ObjectState Configure …,clm mode,clm port <id> set …,clm port <id> tx,srv6 global clrctr,TechSupport Config …Change SAI or SDK state.
TechSupport(dump forms),SyncDB Data DumpWrite files and turn the shell console off and on, or write a debug dump.
DataManager …,SyncDB Table DumpTear down and save SAI state before dumping. Not safe on a running switch.
Warning
BCMSAI DataManager …andBCMSAI SyncDB Table Dumprun part of the SAI’s shutdown and save path before they dump anything. On a SONiC Trident 3 switchDataManager DumpandDataManager Tablecompleted andsyncdwent on answering shell commands, but what they do to a later warm reboot is not known. Do not use them on a production switch.- BCMSAI VERsion
Print the SAI, OCP SAI, SDK and CANCUN versions. The output is the same as for the front-end command
bsv; the format is shown there. Read-only.Hardware-validated
drivshell> BCMSAI VERsion BRCM SAI ver: [15.2.1.0.0.0.26.3], OCP SAI ver: [1.18.1], SDK ver: [sdk-6.5.35-SP1], CANCUN ver: [06.15.00] BRCM SAI cold boot ver:[15.2.1.0.0.0.26.3]
- BCMSAI SyncDB Table List
List the SAI syncdb table names:
Table names:followed by one tab-indented name per line. Read-only.Hardware-validated
drivshell> BCMSAI SyncDB Table List Table names: CPUMqueue Mqueue Uqueue _brcm_sai_hostif_trap_flexctr_info _tnl_l2_ecmp_group acl_chain_groups acl_cmn_counter acl_group_list acl_log acl_table_group_members acl_table_groups acl_table_qual_info acl_tables ars_info ars_profile bfd_bcm_sai_ep_map bfd_ep_info bfd_ip_ep_map bfd_nh_ep_map buf_pools buf_port_pools buf_profiles cpu_cos_map_ csig_global_info ctr_info dbg_ctr_idx dev_port_class_id dot1p_color dot1p_tc_map ...
- BCMSAI SyncDB Table Dump <table_name>
Dump one syncdb table. Take the name from
BCMSAI SyncDB Table List; names longer than 127 characters are truncated. An unknown name printsTable "<name>" not found.This is not read-only: before dumping, it saves the SAI state and shuts down the HA shared memory, and prints
SyncDB save failed.if the save fails. See the warning above.Unvalidated
drivshell> BCMSAI SyncDB Table Dump <table_name>
- BCMSAI SyncDB Data Dump
Write a syncdb debug dump. The built-in help says this “will dump data into /tmp/debug”. The shell itself prints only
Got Debug message....Hardware-validated
drivshell> BCMSAI SyncDB Data Dump Got Debug message...
- BCMSAI DataManager Dump [<file_name>]
Dump the SAI data manager to the console or, given a file name, to that file in the warm-boot state directory. On SONiC the console form prints only
DM data can be found here: /var/warmboot/brcm_sai_dm_techsupport.tgz.: the dump goes to that archive inside thesyncdcontainer. An over-long name printsFile name length cannot be more than <n>.This is not read-only: every
DataManagerform first walks and saves the SAI module state. See the warning above.Hardware-validated
drivshell> BCMSAI DataManager Dump DM data can be found here: /var/warmboot/brcm_sai_dm_techsupport.tgz.
- BCMSAI DataManager Table
Show the data-manager table summary. Like
DataManager Dump, it saves the SAI module state first.Hardware-validated
drivshell> BCMSAI DataManager Table Table Name: CPUMqueue Table Creation Flags: 0x3 Table Type: AVL Tree (1) Storable Table Schema Size: 260 Allocated Memory: 3056 (2KB) Record Size: 8 Max Records: 48 Number of Records: 48 Max Non-Deleted Records: 48 Number of Non-Deleted Records: 48 Key Size: 4 Number of purges: 0 User Data Size: 384 (0KB) Number of Writes: 96 Number of Reads: 0 Clients registered for table change notification: Table Name: Mqueue Table Creation Flags: 0x3 Table Type: AVL Tree (1) Storable Table Schema Size: 344 Allocated Memory: 553328 (540KB) Record Size: 12 Max Records: 9216 Number of Records: 361 Max Non-Deleted Records: 9216 Number of Non-Deleted Records: 361 Key Size: 8 ...
- BCMSAI dump_eapp_config
Print the embedded-application configuration:
embedded-apps-location,feature-names,file-name,app-version,compatible-siliconandcompatible-cancun. This keyword must be typed in full (any case). On a SONiC Trident 3 switch no embedded applications are configured and it prints only an emptyembedded-apps-location:line. Read-only.Hardware-validated
drivshell> BCMSAI dump_eapp_config embedded-apps-location:
- BCMSAI ObjectState [Brief | Type <objtype>]
Dump the SAI object-tracking state: all objects with no argument, a brief form with
Brief, or one object type.<objtype>is a SAI object-type name without theSAI_OBJECT_TYPE_prefix, in any case:portselectsSAI_OBJECT_TYPE_PORT. Read-only.On a SONiC switch
ObjectState Type PORTprints nothing. Object tracking is probably off;ObjectState Configure Enable(below) turns it on.Hardware-validated
drivshell> BCMSAI ObjectState Type PORT
- BCMSAI ObjectState Configure <Enable | Disable | Clear>
Turn SAI object tracking on or off, or clear it.
Configis accepted as an abbreviation ofConfigure. Changes SAI debug state.Unvalidated
drivshell> BCMSAI ObjectState Config Enable
- BCMSAI Memtrack [index | list | table | summary | module <id>]
Show SAI memory tracking. With no argument it prints all four views (index, list, table, summary). Any other word prints nothing and succeeds. Read-only.
Hardware-validated
drivshell> BCMSAI Memtrack summary Global Memory Statistics: outstanding(258667153) peak(258735568) overhead(67784) Indexed Memory Statistics: outstanding(68270942) List Memory Statistics: outstanding(2008) Table Memory Statistics: outstanding(39410656)
- BCMSAI Hamem Summary [Detail]
Summarise the SAI’s HA (warm-boot) shared-memory tables. Read-only.
Hardware-validated
drivshell> BCMSAI Hamem Summary ################################################################################ ******************************************************************************** comp(0) sub_comp(1) name(sai-ha-rt-table) header(0x7fe8631fc028) data_begin(0x7fe86320407c) data_start(0x7fe8632340ac) sig(a0b0c0d) ver(1) chksum(0) memType(static) memSubtype(array) ent_size(24) max(8194) used(0) avail(8194) peak(0) allocAgg(0::0) freeAgg(0::0) head(0) tail(8193) ================================================================================ comp(0) sub_comp(2) name(sai-ha-rt-node) header(0x7fe85f363028) data_begin(0x7fe85f423074) data_start(0x7fe860c23074) sig(a0b0c0d) ver(1) chksum(0) memType(dynamic) memSubtype(trie) ent_size(128) max(196608) used(6) avail(196602) peak(6) allocAgg(6::0) freeAgg(0::0) head(6) tail(196607) ================================================================================ ******************************************************************************** ################################################################################
- BCMSAI Hamem Module <comp_id> <subcomp_id> [Detail]
Display one HA table by component and sub-component ID. The built-in help shows
Comp <id> SubComp <id>; the shell actually expectsModulefollowed by two bare numbers. Take the numbers from thecomp(<n>) sub_comp(<n>)lines ofHamem Summary; a pair that does not exist prints nothing. On a SONiC Trident 3 switch the summary lists only component 0 with sub-components 1 (sai-ha-rt-table) and 2 (sai-ha-rt-node). Read-only.Hardware-validated
drivshell> BCMSAI Hamem Module 1 0Hardware-validated
drivshell> BCMSAI Hamem Module 0 2 comp(0) sub_comp(2) name(sai-ha-rt-node) header(0x7fe85f363028) data_begin(0x7fe85f423074) data_start(0x7fe860c23074) sig(a0b0c0d) ver(1) chksum(0) memType(dynamic) memSubtype(trie) ent_size(128) max(196608) used(6) avail(196602) peak(6) allocAgg(6::0) freeAgg(0::0) head(6) tail(196607)
- BCMSAI Scaletrack Summary [Detail]
Summarise SAI scale tracking.
Scaletrack Module <id> [Detail]shows one module. Read-only.Hardware-validated
drivshell> BCMSAI Scaletrack Summary Detail Scaling Information ************************************************************ ************************************************************ ************************************************************ Flags: Bit 0 - Unused Bit 1 - _BRCM_SAI_SCALE_TRACK_FLAGS_REGISTERED Bit 2 - _BRCM_SAI_SCALE_TRACK_FLAGS_MAX_SCALE_ONLY Bit 3 - _BRCM_SAI_SCALE_TRACK_OLD_MAX_SCALE type name max used free peak-usage aggr-used aggr-free flags module dmax amax pdmax pamax 1 _BRCM_SAI_SCALE_TYPE_MPTNL_TNL_NH 1024 N/A N/A N/A N/A N/A 6 26 1024 1024 1024 1024 2 _BRCM_SAI_SCALE_TYPE_MPTNL_VXLAN_TNL_MAP 128 N/A N/A N/A N/A N/A 6 26 128 128 128 128 3 _BRCM_SAI_SCALE_TYPE_MPTNL_VXLAN_TNL 5 0 5 0 0 0 2 26 5 5 5 5 4 _BRCM_SAI_SCALE_TYPE_MPTNL_VXLAN_VLAN_VNI 128 0 128 0 0 0 2 26 128 128 128 128 5 _BRCM_SAI_SCALE_TYPE_MPTNL_VXLAN_VRF_VNI 64 0 64 0 0 0 2 26 64 64 64 64 6 _BRCM_SAI_SCALE_TYPE_MPTNL_IPIP_TNL 513 0 513 0 0 0 2 26 513 513 513 513 7 _BRCM_SAI_SCALE_TYPE_MPTNL_TNL_LPBK 5 0 5 0 0 0 2 26 5 5 5 5 8 _BRCM_SAI_SCALE_TYPE_COUNTER 4096 0 4096 0 0 0 2 41 4096 4096 4096 4096 ************************************************************ ************************************************************ ************************************************************
- BCMSAI MPTnl <table> [Detail]
Dump the SAI multipoint (VXLAN) tunnel tables.
<table>is one ofGlobal,Route,SrcTnlIdDip,SipDipCmn,Dip,Sip,TeRm,Nh,ITnl,TnlMap,TnlMapEntandTnlDvniMapEnt. Any second word other thanDetail(for exampleBrief) gives the brief form. An unknown table name prints the usage. Read-only.Hardware-validated
drivshell> BCMSAI MPTnl Global Tunnel Global Information Configuration Information: VxLAN BUM Bit Enable:No Capability Information: VxLAN:Yes IPinIP/GRE:Yes VxLAN_Decap_Only:Yes VxLAN_L3VNI_Only:No vxlan_flow_handle(1) vxlan_rsvd_vpn(45055) tnl_l3_rif(8192) def_vni(0) vxlan_drop_nh(132768) ipip_drop_nh(132769) ifp_misc_group_dscp_to_tc(0) bcm_vxlan_ing_stat_pool_id(0x0) bcm_vxlan_egr_stat_pool_id(0x0) bcm_ipinip_ing_stat_pool_id(0x0) bcm_ipinip_egr_stat_pool_id(0x0) route_mode(Any prefix) ecmp_sharing_mode(No Sharing) acc_mode(1) lag_nh_del_track_cnt(0) nh_hwid_mismatch(0) uniform_decap_qos_map(3072) Scaling Information: tnl(curr:0::max:518) vxlan(curr:0::max:5) ipip(curr:0::max:513) tnl_ul_max_path(2) tnlmap(max(192) vlan(curr:0::max:128) vrf(curr:0::max:64) lpbk(curr:0::max:5)) Lock Information: Global acquire(total:65) release(total:65::normal:65::api:0) Debug Counters Generic type( vni_map_entry) (crea_succ:0::crea_fail:0::del_succ:0::del_fail:0) Generic type( vlan_map_entry) (crea_succ:0::crea_fail:0::del_succ:0::del_fail:0) Generic type( vrf_map_entry) (crea_succ:0::crea_fail:0::del_succ:0::del_fail:0) Generic type( route_entry) (crea_succ:0::crea_fail:0::del_succ:0::del_fail:0) Generic type( route_dip_tnl) (crea_succ:0::crea_fail:0::del_succ:0::del_fail:0) Generic type( term_terminator) (crea_succ:0::crea_fail:0::del_succ:0::del_fail:0) ...
- BCMSAI MPTnl Dip Detail
Show the known destination VTEPs of multipoint (VXLAN) tunnels.
Hardware-validated
drivshell> BCMSAI MPTnl Dip Detail Tunnel DIP Information ======================================================= Total DIP Count(0) =======================================================
- BCMSAI L2Ecmp <Global | Group [<id>] | Member [<id>] | TnlInfo | MacNbr>
Dump the SAI L2 ECMP group debug state: global state, all groups or one group by index, all members or one member by index, tunnels, or MAC neighbours. Read-only.
Hardware-validated
drivshell> BCMSAI L2Ecmp Group ---------- L2 Ecmp Groups ----------- ---------- L2 Ecmp Groups -----------
- BCMSAI VlanStack <idata | stackinfo | portinfo | fwdinfo>
Dump the SAI VLAN-stacking state. These keywords are all lower case, so any prefix is accepted. Read-only.
Hardware-validated
drivshell> BCMSAI VlanStack portinfo VLAN Stack PortInfo Information =======================================================
- BCMSAI SamplePacket [all | profile <idx> | ports]
Dump the SAI sampled-packet (sFlow) state: everything (no argument or
all), one profile, or the per-port bindings. Read-only.Hardware-validated
drivshell> BCMSAI SamplePacket ========== SamplePacket Profile Dump ========== Global SamplePacket Count: 0 Use seperate Egress Sampler Proc File: false Max Profiles: 16 Total Valid Profiles Found: 0 ========== End of SamplePacket Dump ==========
- BCMSAI route [vrf-all | vrf <vr_id> | brief | client <id>] [v4 | v6] [client <id>]
Dump the SAI route table. The defaults are all VRFs, both address families and client 0.
The first word always selects the VRF:
vrf <id>selects one VRF,briefselects the brief form,client <id>sets the client, and any other word (conventionallyvrf-all) means all VRFs. Only the next word is checked forv4orv6. SoBCMSAI route v4shows both families; useBCMSAI route vrf-all v4to see only IPv4. Read-only.Hardware-validated
drivshell> BCMSAI route vrf-all v4 IP Route Information vr_id: start=0 end=4095 AFI: start=0 end=0, client_id=0 g_rtNode_ha_mem_size=196608, g_rtCount_max:98304, g_rtNodeCount=6, g_rtCount=6 Trie Dump rtTable vr_id:0, afi:0, rtCount:3 ndCount:3 1. [0.0.0.0/0] src:0x1, NH=0x0,nhid:0, pa:0,mp:0,ip2me:0, state:1 2. [198.51.100.0/24] src:0x1, NH=0x386010600000001,nhid:0, pa:1,mp:0,ip2me:0, state:2 3. [198.51.100.1/32] src:0x1, NH=0x10100000000,nhid:0, pa:1,mp:0,ip2me:1, state:2
- BCMSAI flexctr [detail]
Dump the SAI flex-counter state, in brief or detailed form. The built-in help also shows
Brief; in fact any word other thandetailor theport-*forms below gives the brief dump. Read-only.Hardware-validated
drivshell> BCMSAI flexctr detail Stats Enable Bit Mask List [sai_stats_support_mask] RIF:0x1 ROUTE:0x2 QDRP:0x4 DEF_ROUTE:0x10 EgrVLAN_SLIM:0x20 L3_DST_Discard:0x40, Srv6_MySID_Stats:0x80, TAM_ST_Ingress:0x100, TAM_ST_Egress:0x200 Exclude_PFC_DSCRD:0x800 Stats Disable Bit Mask List [sai_stats_disable_mask] POLICER:0x1 QUEUE:0x2 MC_QUEUE:0x4 ECN:0x8 PORT_DROP:0x10 PORT_TC:0x20 PORT_TC_DROP:0x40 PORT_IN_DISCARDS:0x80 VLAN:0x100 VXLAN:0x200 KNOCKOUT:0x800 Stats Enable Mask (0x0): Stats Disable Mask (0x0): Flexcounter Info: Debug Counters
- BCMSAI flexctr port-queue-stats [<port> | nz] [nz]
Per-queue counters for one port, or all ports if none is given.
nzshows non-zero counters only.port-queue-drop-statsandport-ecn-queue-statstake the same arguments and show drop and ECN counters.<port>is a decimal SDK port number. Reading may clear the counters. On Trident 3 all three forms only printNot supported on non LTSW devices: they work only on the newer chip families.Hardware-validated
drivshell> BCMSAI flexctr port-queue-stats nz Not supported on non LTSW devices
- BCMSAI Acl <Table | Entry | Counter | All>
Dump the SAI ACL tables, entries and counters, or all three. An argument is required. Any other word returns silently. The built-in help lists
Acl Info [entry-oid …], but this build does not implement it. Read-only.Hardware-validated
drivshell> BCMSAI Acl Table ACL Tables: ========== Auto field group prioritize:Disable ===================== 0 Ingress ACL tables ===================== ===================== 0 Egress ACL tables =====================
- BCMSAI ApiLog
Prints
API Logging not included in SAI build. TheConfig,ShowandClearforms in the built-in help are not supported; the shell warns that the extra arguments were ignored.Hardware-validated
drivshell> BCMSAI ApiLog API Logging not included in SAI build
- BCMSAI LoadBalance
Print
Load balance debug supportand then the ARS and load-balancing tech-support dump: the RTAG7 hash settings for LAG and ECMP and the UDF hash controls. On Trident 3 the UDF hash controls readFeature unavailableand the dump ends withPlatform does not support ARS(without a newline, so the prompt follows on the same line). Read-only.Hardware-validated
drivshell> BCMSAI LoadBalance Load balance debug support Rtag7 hash control bcmSwitchHashControl : 0x3b3 (947) Rtag7 hash Lag Algorithm .. bcmSwitchHashField0Config : 0x8 (8) bcmSwitchHashSeed0 : 0x0 (0) bcmSwitchHashIP4TcpUdpField0 : 0xf70 (3952) bcmSwitchHashIP4TcpUdpPortsEqualField0 : 0xf70 (3952) bcmSwitchHashIP4Field0 : 0xf70 (3952) bcmSwitchHashField0PreProcessEnable : 0x1 (1) bcmSwitchTrunkHashSet0UnicastOffset : 0x0 (0) Rtag7 hash ECMP Algorithm .. bcmSwitchHashSeed1 : 0x0 (0) bcmSwitchHashField1Config : 0x9 (9) bcmSwitchHashIP4TcpUdpField1 : 0xf70 (3952) bcmSwitchHashIP4TcpUdpPortsEqualField1 : 0xf70 (3952) bcmSwitchHashIP4Field1 : 0xf70 (3952) bcmSwitchHashField1PreProcessEnable : 0x1 (1) bcmSwitchECMPHashSet0Offset : 0x12 (18) Rtag7 UDF hash control bcmSwitchUdfHashEnable : Feature unavailable bcmSwitchHashUdfSelect0 : Feature unavailable bcmSwitchHashUdfSelect1 : Feature unavailable Platform does not support ARSdrivshell>
- BCMSAI WBInfo
Print
WarmBoot/ISSU informationand then the switch’s warm-boot state. Read-only.Hardware-validated
drivshell> BCMSAI WBInfo WarmBoot/ISSU information Current SAI Version: 15.2.1.0.0.0.26.3 Current SDK Version: sdk-6.5.35-SP1 WB Count for current SAI version: 0x0 WB Count since last coldboot: 0x0 ISSU Count since last coldboot: 0x0
- BCMSAI srv6 global [detail | clrctr]
Show the SRv6 global state.
clrctrmost likely clears the SRv6 counters. The othersrv6dumps aresid-list,sid-adj,fixed-ul-nh,pd-encap-dump,tunnel,my-sidandagg. On a SONiC Trident 3 switch SRv6 is not set up andsrv6 globalprints onlySRV6 not enabled.Hardware-validated
drivshell> BCMSAI srv6 global SRV6 not enabled
- BCMSAI TechSupport [Module <id> | File [<file_name>] [Append] | Append]
Collect SAI tech-support output. With no argument every enabled module is dumped;
Module <id>dumps one module.Filesets the output file name (Filewith no name resets it tosai-techsupport.log), andAppendappends to the file instead of overwriting it. The full dump turns the shell console off and on again (console off/console on) while it writes the log file, and ends withSAI Timing: Techsupport took <s> seconds. Module IDs are listed byTechSupport Config; module 0 isSAI_API_INT_ERROR, which has nothing to dump and only prints its timing line.Hardware-validated
drivshell> BCMSAI TechSupport Module 0 SAI Timing: Techsupport for module SAI_API_INT_ERROR(0) took 0.000 seconds
Hardware-validated
drivshell> BCMSAI TechSupport Module 4 << Start SAI_API_VLAN(4) >> Maximum supported VLANs : 4095 Use VFI for VLAN : 1 Maximum supported FDB entries : 32768 User Created Vlans |Vlan| VFI-MCG |Member_Count|(type:tid : Bridge-Port-OID : Vlan-Member-OID : Priority-Tagged : VPort )| | 1|0x7001 -0xf000003 | None| | 902|0x7386 -0xf000004 | 1|( ETH:12 :0x1003a0000000c :0xc012700000386 : NO:0xb0000001)| |3999|0x7f9f -0xf000006 | None| System Internally Created Vlans |Vlan| |Vlan|Member_Count|(port_tid:Tag_type)| | 1| None| | 902| 1|( 12:U )| |3999| None| |4095| None| | Drop entry | Counters | ------------------------------------------------------------ | DA = SystemMAC, Vlan = SAG-VSI | 0 | | DA = SystemMAC, Vlan = MclagGW-VSI | 0 | | MyStationHit, Vlan = L2-VSI | 0 | | DA = MclagGW-MAC, Vlan = Non-MclagGw-VSI | 0 | << End SAI_API_VLAN(4) >> SAI Timing: Techsupport for module SAI_API_VLAN(4) took 0.002 seconds
- BCMSAI TechSupport Config [Enable | Disable] [All | Module <id>]
With no argument, show which tech-support modules are enabled. Otherwise enable or disable all modules or one module. Changes the SAI tech-support configuration.
Hardware-validated
drivshell> BCMSAI TechSupport Config ID Name Flags 1 SAI_API_SWITCH 0x1 2 SAI_API_PORT 0x1 3 SAI_API_FDB 0x1 4 SAI_API_VLAN 0x1 6 SAI_API_ROUTE 0x1 23 SAI_API_BUFFER 0x1 24 SAI_API_HASH 0x1 25 SAI_API_UDF 0x1 26 SAI_API_TUNNEL 0x1 536870934 SAI_API_INT_ERROR 0x1 35 SAI_API_SRV6 0x1 48 SAI_API_ARS 0x1 43 SAI_API_MACSEC 0x1 34 SAI_API_TAM 0x1 80 SAI_API_INT_SYNCDB 0x1 81 SAI_API_INT_DATAMGR 0x1 82 SAI_API_INT_OBJDUMP 0x1 83 SAI_API_INT_MEMTRACK 0x1 84 SAI_API_INT_SCALETRACK 0x1 85 SAI_API_INT_EAPP 0x1
- BCMSAI Cint
Prints
SAI CINT support is not included in the SAI build. Use the SDKcintcommand instead.Unvalidated
drivshell> BCMSAI Cint SAI CINT support is not included in the SAI build
- BCMSAI clm show port <all | enabled | <id>>
Show per-port CLM state as a table headed
port-id | Media Type | CLM delay available | delay value(ns) | Status.enabledrestricts the table to ports whose link is up. CLM relates to IEEE 1588 delay measurement. Trident 3 does not support it: the header readsCLM supported: NOand every port showsFeature unavailable (-16). Read-only.Hardware-validated
drivshell> BCMSAI clm show port all ===================================================================== | CLM | ===================================================================== CLM supported: NO CLM is enabled via switch attr: NO CLM mode: N/A ===================================================================== port-id | Media Type | CLM delay available | delay value(ns) | Status 1 | unknown | No | N/A | Feature unavailable (-16) 5 | unknown | No | N/A | Feature unavailable (-16) 9 | unknown | No | N/A | Feature unavailable (-16) 10 | unknown | No | N/A | Feature unavailable (-16) 11 | unknown | No | N/A | Feature unavailable (-16) 12 | unknown | No | N/A | Feature unavailable (-16) 13 | unknown | No | N/A | Feature unavailable (-16) 17 | unknown | No | N/A | Feature unavailable (-16) 21 | unknown | No | N/A | Feature unavailable (-16) 25 | unknown | No | N/A | Feature unavailable (-16) 29 | unknown | No | N/A | Feature unavailable (-16) 33 | unknown | No | N/A | Feature unavailable (-16) 37 | unknown | No | N/A | Feature unavailable (-16) 41 | unknown | No | N/A | Feature unavailable (-16) 45 | unknown | No | N/A | Feature unavailable (-16) 49 | unknown | No | N/A | Feature unavailable (-16) 53 | unknown | No | N/A | Feature unavailable (-16) 57 | unknown | No | N/A | Feature unavailable (-16) 61 | unknown | No | N/A | Feature unavailable (-16) 67 | unknown | No | N/A | Feature unavailable (-16) 71 | unknown | No | N/A | Feature unavailable (-16) 75 | unknown | No | N/A | Feature unavailable (-16) ...
- BCMSAI clm mode <0 | 1 | 2>
Set the CLM mode:
1(“OneStep”) enables CLM,0(“Disable”) turns it off.2(“TwoStep”) is refused. PrintsCLM mode set to <mode>. Changes switch state.Unvalidated
drivshell> BCMSAI clm mode 0
- BCMSAI clm port <id> <set enable <true | n> | set media <fiber | copper | backplane | none> | get delay | tx>
Per-port CLM control: enable or disable it, set the media type, read the measured delay (
Port <id>: delay_ns=<n>) or start a CLM transmit.set 1588only prints1588 config supported on DNX only. Every form exceptget delaychanges port state. On Trident 3 they fail:get delayprintsclm port <id> get delay failed: -16(feature unavailable), followed by the front-end’s failure line.Hardware-validated
drivshell> BCMSAI clm port 1 get delay clm port 1 get delay failed: -16 Failed to execute the diagnostic command. Error: Operation failed.
Built-in help
Subcommands: DataManager [Dump [<file_name>]| Table] ObjectState [Config [Enable | Disable | Clear] | Brief | Type <objtype>] SyncDB <Data Dump | <List | Table Dump <table_name>> VERsion Memtrack [Index | List | Table | Summary | Module <id>] Hamem [Summary | Comp <id> SubComp <id>] [Detail | Brief] Scaletrack [Summary | Module <id>] [Detail| Brief] MPTnl [Global | Route | SrcTnlIdDip | SipDipCmn | Dip | Sip | Nh | TeRm | ITnl | TnlMap | TnlMapEnt | TnlDvniMapEnt] [Detail| Brief] L2Ecmp [Global | Group <id> | Member <id> | TnlInfo | MacNbr] VlanStack [idata | stackinfo | portinfo | fwdinfo] SamplePacket [all | profile <idx> | ports] Route [vrf-all|vrf <vr_id>|brief] [v4|v6] [client <id>] Acl [Table | Entry | Counter | All] Acl Info [entry-oid <object-id>] ApiLog [Config [<Enable | Disable> <All | ApiType <api_type_id> | ObjectType <obj_type> > ] | Show [last <log_count | ApiType <api_type_id> | ObjectType <obj_type> ]| Clear] FlexCtr [Detail|Brief | port-queue-stats <port> <nz>| port-queue-drop-stats <port> <nz> | port-ecn-queue-stats <port> <nz>] LoadBalance WBInfo clm mode <0|1|2> | clm show port <id|all|enabled> | clm port <id> set 1588|enable <bool>|media <type> | clm port <id> get delay | clm port <id> tx dump_eapp_config srv6 <global [Detail|ClrCtr]| sid-list | sid-adj | fixed-ul-nh | pd-encap-dump | tunnel | agg | my-sid> Cint - C interpreter for SAI TechSupport [Module <id> | Config [<Enable | Disable> <All | Module <id>>] | File <file-name> | Append] SAI debugging commands Note: "syncdb data dump" will dump data into /tmp/debugFurther reading
bcmsh.md (published as https://kamelnetworks.github.io/sonic/bcmsh.html), sonic-buildimage issues with bcmcmd usage (exemplars #1762, #3212, #10733, #22287, #28832).