esw_diag.c (84316B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * ESW socdiag command list 8 */ 9 10 #include "appl/diag/diag.h" 11 12 char cmd_age_esw_usage[] = 13 "Parameters: [<seconds>]\n\t" 14 " Set the hardware age timer to the indicated number of seconds.\n\t" 15 " With no parameter, displays current value.\n\t" 16 " Setting to 0 disables hardware aging\n"; 17 18 extern cmd_result_t cmd_esw_age(int unit, args_t *a); 19 char auth_esw_cmd_usage[] = 20 "Usages:\n\t" 21 #ifdef COMPILER_STRING_CONST_LIMIT 22 "auth <option> [args...]\n" 23 #else 24 "auth init\n\t" 25 " - Init auth function\n\t" 26 "auth detach\n\t" 27 " - Detach auth function\n\t" 28 "auth mac init\n\t" 29 " - Add switch mac address from config to all ports\n\t" 30 "auth mac add [PortBitMap = <pbmp>] [MACaddress=<address>]\n\t" 31 " - Add switch mac address\n\t" 32 "auth mac del [PortBitMap = <pbmp>] [MACaddress=<address>]\n\t" 33 " - Delete switch mac address\n\t" 34 "auth mac clear [PortBitMap = <pbmp>]\n\t" 35 " - Clear all switch mac addresses\n\t" 36 "auth block [PortBitMap = <pbmp>] [IngressOnly=true|false]\n\t" 37 " - Block traffic for all directions or ingress direction only\n\t" 38 "auth unblock [PortBitMap = <pbmp>]\n\t" 39 " - All traffic allowed, ports in uncontrolled state\n\t" 40 "auth enable [PortBitMap = <pbmp>] [LearnEnable=true|false]\n\t" 41 " [IgnorLink=true|false]\n\t" 42 " - Authorized ports to allow traffic\n\t" 43 "auth disable [PortBitMap = <pbmp>]\n\t" 44 " - Put ports back in block state\n\t" 45 "auth show\n\t" 46 " - Show ports access state\n" 47 #endif 48 ; 49 extern cmd_result_t cmd_esw_auth(int unit, args_t *a); 50 51 char if_esw_bpdu_usage[] = 52 "Usages:\n\t" 53 " bpdu add [Index=<n>] [MACaddress=<mac>]\n\t" 54 " - Add BPDU addresses by index\n\t" 55 " bpdu del [Index=<n>]\n\t" 56 " - Delete BPDU address by index\n\t" 57 " bpdu show \n\t" 58 " - Show BPDU addresses and index range\n"; 59 60 extern cmd_result_t if_esw_bpdu(int unit, args_t *a); 61 62 char cmd_esw_cablediag_usage[] = 63 "Run Cable Diagnostics on a set of ports.\n" 64 "Parameter: <portbitmap>\n"; 65 extern cmd_result_t cmd_esw_cablediag(int unit, args_t *a); 66 67 char mem_esw_cache_usage[] = 68 "Parameters: [+<TABLE>[.COPYNO] | -<TABLE>[.COPYNO]] ...\n\t" 69 "If no parameters are given, displays caching status. Otherwise,\n\t" 70 "turns software caching on (+) or off (-) for specified TABLE(s).\n\t" 71 "Use \"listmem\" for a list of tables and cachability.\n"; 72 73 extern cmd_result_t mem_esw_cache(int unit, args_t *a); 74 75 char cmd_esw_clear_usage[] = 76 "clear counters [PBMP] | [ALL] <TABLE> ... | DEV | SA | stats [PBMP]\n\t" 77 "counters - zeroes all or some internal packet counters\n\t" 78 "<TABLE> - clears specified memory table\n\t" 79 "ALL - when clearing a sorted table, overwrite all entries instead\n\t" 80 " of just occupied ones (i.e. 1 through software-entry-count).\n\t" 81 "DEV - Call bcm_clear on the unit to reset to known state\n\t" 82 "SA - clears software ARL shadow table\n"; 83 84 extern cmd_result_t cmd_esw_clear(int unit, args_t *a); 85 86 char if_esw_combo_usage[] = 87 "Parameters: <ports> [copper|fiber [<option>=<value>]]\n" 88 " <ports> watch [on|off]\n\t" 89 "Display or update operating parameters of copper/fiber combo PHY.\n\t" 90 "Note: the 'port' command operates on the currently active medium.\n\t" 91 "Example: combo ge1 fiber autoneg_enable=1 autoneg_advert=1000,pause\n\t" 92 "Watch subcommand enables/disables media change notifications\n"; 93 94 extern cmd_result_t if_esw_combo(int unit, args_t *a); 95 96 char cmd_esw_cos_usage[] = 97 "Usages:\n\t" 98 #ifdef COMPILER_STRING_CONST_LIMIT 99 "cos <option> [args...]\n" 100 #else 101 "cos clear - Reset COS configuration to default\n\t" 102 "cos config [Numcos=#] - Set number of active COS queues\n\t" 103 "cos map [Pri=#] [Queue=#] - Map a priority 0-7 to a COS queue\n\t" 104 "cos strict - Set strict queue scheduling mode\n\t" 105 "cos simple - Set round robin queue scheduling mode\n\t" 106 "cos weight [W0=#] [W1=#] ... - Set weighted queue scheduling mode\n\t" 107 " with the specified weights per queue\n\t" 108 "cos fair [W0=#] [W1=#] ... - Set weighted fair queue scheduling mode\n\t" 109 " with the specified weights per queue\n\t" 110 "cos bounded [W0=#] [W1=#] ... [Delay=<usec>]\n\t" 111 " - Set bounded queue scheduling with delay\n\t" 112 "cos drr [W0=#] [W1=#] ... - Set Deficit Round Robin scheduling mode\n\t" 113 " with the specified weights per queue\n\t" 114 "cos discard [Enable=true|false] [CapAvg=true|false]\n\t" 115 " - Set discard (WRED) config\n\t" 116 "cos discard_port [PortBitMap=<pbmp>] [Queue=#] [Color=green|yellow|red]\n\t" 117 " [DropSTart=#] [DropSLope=#] [AvgTime=#] [Gport=<GPORT ID>]\n\t" 118 " - Set port discard (WRED) config\n\t" 119 "cos discard_show [Gport=<GPORT ID>] [Queue=#]\n\t" 120 " - Show current discard (WRED) config\n\t" 121 "cos discard_gport [Enable=true|false] [CapAvg=true|false]\n\t" 122 " [Gport=<GPORT ID>] [Queue=#] [Color=green|yellow|red]\n\t" 123 " [DropSTart=#] [DropEnd=#] [DropProbability=#] [GAin=#]\n\t" 124 " [Mode=byte|packet]\n\t" 125 " - Set GPORT discard (WRED) config\n\t" 126 "cos bandwidth [PortBitMap=<pbmp>] [Queue=#] [KbpsMIn=#]\n\t" 127 " [KbpsMAx=#] [Flags=#]\n\t" 128 " - Set cos bandwidth\n\t" 129 "cos bandwidth_show - Show current COS bandwidth config\n\t" 130 "cos show - Show current COS config\n" 131 "\n\t" 132 "cos port config [PortBitMap=<pbmp>] [Numcos=#] [Gport=<GPORT ID>]\n\t" 133 " - Add and attach a COSQ GPORT\n\t" 134 "cos port map [PortBitMap=<pbmp>] [Pri=#] [Queue=#]\n\t" 135 " - Map a port's priority 0-7 to a COS queue\n\t" 136 "cos port strict - Set strict queue scheduling mode\n\t" 137 "cos port simple - Set round robin queue scheduling mode\n\t" 138 "cos port weight [PortBitMap=<pbmp>] [Queue=#] [Weight=#] [Gport=<GPORT ID>]\n\t" 139 " - Set weighted queue scheduling mode\n\t" 140 " with the specified weight of queue\n\t" 141 "cos port fair [PortBitMap=<pbmp>] [Queue=#] [Weight=#] [Gport=<GPORT ID>]\n\t" 142 " - Set weighted fair queue scheduling mode\n\t" 143 " with the specified weight of queue\n\t" 144 "cos port bounded [PortBitMap=<pbmp>] [Queue=#] [Weight=#] [Gport=<GPORT ID>]\n\t" 145 " - Set bounded queue scheduling mode\n\t" 146 " with the specified weight of queue\n\t" 147 "cos port drr [PortBitMap=<pbmp>] [Queue=#] [Weight=#] [Gport=<GPORT ID>]\n\t" 148 " - Set Deficit Round Robin scheduling mode\n\t" 149 " with the specified weight of queue\n\t" 150 "cos port bandwidth [PortBitMap=<pbmp>] [Queue=#] [KbpsMIn=#]\n\t" 151 " [KbpsMAx=#] [Flags=#] [Gport=<GPORT ID>]\n\t" 152 " - Set port cos bandwidth\n\t" 153 "cos port show [PortBitMap=<pbmp>]\n\t" 154 " - Show current port COS config\n" 155 #endif 156 ; 157 extern cmd_result_t cmd_esw_cos(int unit, args_t *a); 158 159 char cmd_esw_counter_usage[] = 160 "\nParameters: [on] [off] [sync] [Interval=<usec>]\n\t" 161 "\t[PortBitMap=<pbm>] [DMA=<true|false>]\n\t" 162 "Starts the counter collection task and/or DMA running every <usec>\n\t" 163 "microseconds. The task tallies software counters based on hardware\n\t" 164 "values and must run often enough to avoid counter overflow.\n\t" 165 "If <interval> is 0, stops the task. If <interval> is omitted, prints\n\t" 166 "the current INTERVAL. sync reads in all the counters to synchronize\n\t" 167 "'show counters' for the first time, and must be used alone.\n"; 168 169 extern cmd_result_t cmd_esw_counter(int unit, args_t *a); 170 171 char cmd_esw_custom_stat_usage[] = 172 "Usages:\n\t" 173 #ifdef COMPILER_STRING_CONST_LIMIT 174 "CustomSTAT <option> [args...]\n" 175 #else 176 " cstat <pbmp> [z]\n\t" 177 " - Display all non-zero custom counters and their triggers\n\t" 178 " z - include counters that are zero\n\t" 179 " cstat raw <pbmp> [rx|tx] <counter>\n\t" 180 " - Display value of counter in raw mode\n\t" 181 " cstat set <pbmp> [rx|tx] <counter> <triggers>\n\t" 182 " - Set triggers for given counter\n\t" 183 " cstat get <pbmp> [rx|tx] <counter>\n\t" 184 " - Get currently enabled triggers of counter\n\t" 185 " cstat ls [rx|tx]\n\t" 186 " - List available triggers\n\t" 187 " cstat info [rx|tx]\n\t" 188 " - List available triggers with short description\n\t" 189 " Note: To specify all counters use 'all'\n\t" 190 "Displays and configures programmable statistic counters\n\t" 191 "RDBGC0,TDBGC0 etc.\n" 192 #endif 193 ; 194 195 extern cmd_result_t cmd_esw_custom_stat(int unit, args_t *a); 196 197 198 char if_esw_dscp_usage[] = 199 "Usages:\n" 200 " dscp pbmp [Mode=<mode>][source [mapped [prio [cng]]]]\n" 201 " - map source dscp to mapped\n"; 202 203 extern cmd_result_t if_esw_dscp(int unit, args_t *a); 204 205 char if_esw_dtag_usage[] = 206 "Usage:\n" 207 "\tdtag show <pbmp>\n" 208 "\tdtag mode <pbmp> none|internal|external [addInnerTag|removeInnerTag]\n" 209 "\tdtag tpid <pbmp> hex-value\n" 210 "\tdtag addTpid <pbmp> hex-value\n" 211 "\tdtag deleteTpid <pbmp> hex-value\n"; 212 213 extern cmd_result_t if_esw_dtag(int unit, args_t *a); 214 215 char cmd_esw_dump_usage[] = 216 "Usages:\n\t" 217 #ifdef COMPILER_STRING_CONST_LIMIT 218 "DUMP [options]\n" 219 #else 220 "DUMP [File=<name>] [Append=true|false] [raw] [hex] [all] [chg]\n\t" 221 " <TABLE>[.<COPYNO>] [<INDEX>] [<COUNT>] [[field1]..[fieldN]]\n\t" 222 " [-filter <FIELD>=<VALUE>[,...]]\n\t" 223 " If raw is specified, show raw memory words instead of fields.\n\t" 224 " If hex is specified, show hex data only (for Expect parsing).\n\t" 225 " If all is specified, show even empty or invalid entries\n\t" 226 " If chg is specified, show only fields changed from defaults\n\t" 227 " If pipe_x is specified show data from pipe_x(chip has two pipes)\n\t" 228 " If pipe_y is specified show data from pipe_y(chip has two pipes)\n\t" 229 " If pipe0 is specified show data from pipe0(chip has four pipes)\n\t" 230 " If pipe1 is specified show data from pipe1(chip has four pipes)\n\t" 231 " If pipe2 is specified show data from pipe2(chip has four pipes)\n\t" 232 " If pipe3 is specified show data from pipe3(chip has four pipes)\n\t" 233 " If pipe4 is specified show data from pipe4(chip has four pipes)\n\t" 234 " If pipe5 is specified show data from pipe5(chip has four pipes)\n\t" 235 " If pipe6 is specified show data from pipe6(chip has four pipes)\n\t" 236 " If pipe7 is specified show data from pipe7(chip has four pipes)\n\t" 237 " If nocache is specified, show data from h/w tables, skip cache\n\t" 238 " If nocheck_mem_mode is specified, checking of unique_global mode, slice_mode will be skipped\n\t" 239 " (Use \"listmem\" command to show a list of valid tables)\n\t" 240 "DUMP PCIC (PCI config space)\n\t" 241 "DUMP PCIM [<START> [<COUNT>]] (CMIC PCI registers)\n\t" 242 "DUMP MCS <START> [<COUNT>] (MicroController Subsystem)\n\t" 243 " For both Registers and Memories, (32 bits).\n\t" 244 "DUMP SOC [ADDR | RVAL | DIFF] (All SOC registers)\n\t" 245 " ADDR shows only addresses, doesn't actually load.\n\t" 246 " RVAL shows reset defaults, doesn't actually load.\n\t" 247 " DIFF shows only regs not equal to their reset defaults.\n\t" 248 "DUMP SOCMEM [DIFF] [EXT] (All SOC memories)\n\t" 249 " DIFF shows only memories not equal to their reset defaults.\n\t" 250 " EXT Extended Dump - also shows mmu memories\n\t" 251 "DUMP MW [<START> [<COUNT>]] (System memory, 32 bits)\n\t" 252 "DUMP MH [<START> [<COUNT>]] (System memory, 16 bits)\n\t" 253 "DUMP MB [<START> [<COUNT>]] (System memory, 8 bits)\n\t" 254 "DUMP SA (ARL shadow table)\n\t" 255 "DUMP DV ADDR (DMA vector)\n\t" 256 "DUMP PHY [<PHYID>] See also, the 'PHY' command.\n\t" 257 "DUMP FORMAT [<name> <value>] Display the format fields and values.\n" 258 #endif 259 ; 260 extern cmd_result_t cmd_esw_dump(int unit, args_t *a); 261 262 char cmd_esw_reg_edit_usage[] = 263 "Parameters: <REGISTER>\n\t" 264 "Loads a register and displays each field, providing an opportunity\n\t" 265 "to modify each field.\n"; 266 267 extern cmd_result_t cmd_esw_reg_edit(int unit, args_t *a); 268 269 270 char if_esw_fcoe_usage[] = 271 #ifdef COMPILER_STRING_CONST_LIMIT 272 " fcoe <cmd> <fc-port> <cna-port>\n" 273 " cmd = start/stop\n" 274 #else 275 " fcoe <cmd> <fc-port> <cna-port>\n" 276 " cmd = start/stop\n" 277 #endif 278 ; 279 extern cmd_result_t if_esw_fcoe(int unit, args_t *a); 280 281 char cmd_pemode_usage[] = 282 " pemode\n" 283 " Initializes the system for PE Mode\n" 284 ; 285 extern cmd_result_t cmd_pemode(int unit, args_t *a); 286 287 char cmd_peapp_usage[] = 288 " peapp\n" 289 " Access to PE Lib commands\n" 290 ; 291 extern cmd_result_t cmd_peapp(int unit, args_t *a); 292 293 char if_esw_field_proc_usage[] = 294 #ifdef COMPILER_STRING_CONST_LIMIT 295 "Parameters: <cmd> <opt>\n" 296 #else /* !COMPILER_STRING_CONST_LIMIT */ 297 " Where <cmd> is:\n" 298 "\taction <add|get|remove> <eid> [act] [p0] [p1]\n" 299 "\taction ports <add|get> <eid> <act> [<pbmp>]\n" 300 "\taction mac <add|get> <eid> <act> [<mac>]\n" 301 "\taction oam_stat <add|delete [all] |get [all]> <eid>\n" 302 "\t object=<StatObj> mode=<mode_id> action=<action>\n" 303 "\taset <add|delete|show|clear> <gid> [action|action list]\n" 304 "\tcontrol <ctrl_num> [<status>]\n" 305 "\tdetach\n" 306 "\tentry create <gid> [<eid>]\n" 307 "\tentry copy <src_eid> [<dst_eid>]\n" 308 "\tentry install|reinstall|remove|destroy <eid>\n" 309 "\tentry enable|disable <eid>\n" 310 "\tentry prio <eid> [highest|lowest|dontcare|default|<priority>]\n" 311 "\tentry oper <eid> [backup|restore|cleanup]\n" 312 "\tgroup create <pri> [<gid>] [mode] [pbmp|pipe0|pipe1|pipe2|pipe3] [size]\n" 313 "\tgroup destroy|get|set <gid>\n" 314 "\tgroup compress <gid>\n" 315 "\tinit\n" 316 "\tlist actions|qualifiers [stage]\n" 317 "\trange create [<rid>] [<flags>] [<min>] [<max>]\n" 318 "\trange group create [<rid>] [<flags>] [<min>] [<max>] [<group>]\n" 319 "\trange get|destroy <rid>\n" 320 "\tresync\n" 321 "\tpolicer create PolId=<polcerid> mode=<mode> cbs=<cbs> \n" 322 "\t cir=<cir> ebs=<ebs> eir=<eir> ColorBlind=<bool> \n" 323 "\t ColorMergeOr=<bool> PacketBased=<bool>\n" 324 "\tpolicer set PolId=<polcerid> mode=<mode> cbs=<cbs> \n" 325 "\t cir=<cir> ebs=<ebs> eir=<eir> ColorBlind=<bool> \n" 326 "\t ColorMergeOr=<bool> PacketBased=<bool>\n" 327 "\tpolicer destroy [all] or PolId=<polcerid>] \n" 328 "\tpolicer attach entry=<eid> level=<level> PolId=<polcerid> \n" 329 "\tpolicer detach entry=<eid> level=<level> \n" 330 "\tstat create group=<group> type0=<stat_type0> type1=<stat_type1>\n" 331 "\t type2=<stat_type2> typeX=<stat_typeX>\n" 332 "\tstat destroy StatId=<statid> \n" 333 "\tstat attach entry=<eid> [StatId=<statid>]* \n" 334 "\t (*if not specified, last created StatId is used) \n" 335 "\tstat detach entry=<eid> StatId=<statid> \n" 336 "\tstat set StatId=<statid> type=<stat_type> val=<value>\n" 337 "\tstat get StatId=<statid> type=<stat_type>\n" 338 "\tdata create OffsetBase=<offset_base> offset=<offset> length=<length>\n" 339 "\tdata destroy [all] or QualId=<qualid> \n" 340 "\tdata format add QualId=<qualid> RelativeOffset=<relative_offset> \n" 341 "\t L2=<l2> VlanTag=<tag_format> OuterIp=<outer_ip> InnerIp=<inner_ip>\n" 342 "\t Tunnel=<tunnel> mpls=<mpls> Higig=<higig> Vntag=<vntag> \n" 343 "\t Cntag=<cntag> Etag=<etag> Icnm=<icnm>\n" 344 "\tdata format delete QualId=<qualid> RelativeOffset=<relative_offset>\n" 345 "\t L2=<l2> VlanTag=<tag_format> OuterIp=<outer_ip> InnerIp=<inner_ip> \n" 346 "\t Tunnel=<tunnel> mpls=<mpls> Higig=<higig> Vntag=<vntag> \n" 347 "\t Cntag=<cntag> Etag=<etag> Icnm=<icnm>\n" 348 "\tdata ethertype add QualId=<qualid> RelativeOffset=<relative_offset>\n" 349 "\t etype=<ethertype> VlanTag=<tag_format> L2=<l2> Higig=<higig> \n" 350 "\t Vntag=<vntag> Cntag=<cntag> Etag=<etag> Icnm=<icnm>\n" 351 "\tdata ethertype delete QualId=<qualid> RelativeOffset=<relative_offset>\n" 352 "\t etype=<ethertype> VlanTag=<tag_format> L2=<l2> Higig=<higig> \n" 353 "\t Vntag=<vntag> Cntag=<cntag> Etag=<etag> Icnm=<icnm>\n" 354 "\tdata ipproto add QualId=<qualid> RelativeOffset=<relative_offset>\n" 355 "\t protocol=<protocol> VlanTag=<tag_format> L2=<l2> IpVer=<ip_version>\n" 356 "\tdata ipproto delete QualId=<qualid> RelativeOffset=<relative_offset>\n" 357 "\t protocol=<protocol> VlanTag=<tag_format> L2=<l2> IpVer=<ip_version>\n" 358 "\tqual <eid> <QUAL> [<udf_id*>/<data_qual_id>] data mask \n" 359 "\t (*required for QUAL=UserDefined or Data)\n" 360 "\tqual <eid> delete <QUAL>\n" 361 "\tqual <eid> clear\n" 362 "\tqset add|clear|set|show [qualifier|qualifier list]\n" 363 "\tshow [class] [group|entry] [id] [brief]\n" 364 "\tstatus\n" 365 #endif /* !COMPILER_STRING_CONST_LIMIT */ 366 ; 367 extern cmd_result_t if_esw_field_proc(int unit, args_t *a); 368 369 char cmd_esw_reg_get_usage[] = 370 "Parameters: [hex|raw|chg] [<REGTYPE>] <REGISTER> [[field1]..[fieldN]]\n\t" 371 "If <REGTYPE> is not specified, it defaults to \"soc\".\n\t" 372 "<REGISTER> designates offset, address, or symbolic name.\n\t" 373 "If hex is specified, dumps only a hex value (for Expect parsing).\n\t" 374 "If raw is specified, no field decoding is done.\n\t" 375 "If chg is specified, show only fields/regs changed from defaults.\n\t" 376 "For a list of register types, use \"dump\".\n"; 377 378 extern cmd_result_t cmd_esw_reg_get(int unit, args_t *a); 379 380 char if_esw_ipg_usage[] = 381 "Parameters: [PortBitMap=<pbmp>] [SPeed=10|100|1000|2500|10000]\n\t" 382 "[FullDuplex=true|false] [Gap=<int>]\n" 383 "Set the IPG register values to the specified values when the\n\t" 384 "MAC is programmed after autonegotiation OR when the port is\n\t" 385 "into the specific mode. If no args are given, displays settings.\n"; 386 387 extern cmd_result_t if_esw_ipg(int unit, args_t *a); 388 389 char if_esw_l2_usage[] = 390 "Usages:\n\t" 391 #ifdef COMPILER_STRING_CONST_LIMIT 392 " l2 <option> [args...]\n" 393 #else 394 " l2 add [PortBitMap=<pbmp> or Port=<port>] [MACaddress=<mac>] [Vlanid=<id>]\n\t" 395 " [Trunk=true|false] [TrunkGroupId=<id>] [STatic=true|false]\n\t" 396 " [SourceCosPriority=true|false] [DiscardSource=true|false]\n\t" 397 " [DiscardDest]=true|false] [L3=true|false] [HIT=true|false]\n\t" 398 " [Replace=true|false] [CPUmirror=true|false] [MIRror=true|false]\n\t" 399 " [ReplacePriority=true|false] [RemoteLookup=true|false]\n\t" 400 " [MacBlockPortBitMap=<pbmp>] [Group=<group>]\n\t" 401 " - Add incrementing L2 addresses associated with port(s)\n\t" 402 " l2_replace [Module=<n>] [Port=<port>] [MACaddress=<mac>]\n\t" 403 " [Vlanid=<id>] [Trunk=true|false] [TrunkGroupId=<id>]\n\t" 404 " [STatic=true|false] [Pending=true|false] \n\t" 405 " [NewModule=<n>] [NewPort=<port>] [NewTrunkGroupId=<id>]\n\t" 406 " l2 del [MACaddress=<mac>] [Count=<value>] [Vlanid=<id>]\n\t" 407 " - Delete incrementing L2 address(s)\n\t" 408 " l2 show [PortBitMap=<pbmp]\n\t" 409 " - Show L2 addresses associated with port(s)\n\t" 410 " l2 count\n\t" 411 " - Show the L2 counts on different memories\n\t" 412 " l2 check [hit, valid, static]\n\t" 413 " - Check full L2 table for valid entries\n\t" 414 " l2 clear [Module=<n>] [Port=<port>] [MACaddress=<mac>]\n\t" 415 " [Vlanid=<id>] [TrunkGroupID=<id>] [Static=true|false]\n\t" 416 " - Remove all L2 entries on the given module, module/port,\n\t" 417 " VLAN, or trunk group ID\n\t" 418 " l2 hash [MACaddress=<mac>] [Vlanid=<id>] [Hash=<hash_type>]\n\t" 419 " - Calculate L2 hash index\n\t" 420 " l2 conflict [MACaddress=<mac>] [Vlanid=<id>]\n\t" 421 " - Dump all conflicting L2 entries (same hash bucket)\n\t" 422 " l2 watch [start | stop]\n\t" 423 " - Watch dynamic address insertions/deletions\n" 424 #ifdef BCM_XGS3_SWITCH_SUPPORT 425 "\t" 426 " l2 cache add [CacheIndex=<index>]\n\t" 427 " [MACaddress=<mac>] [MACaddressMask=<mac>]\n\t" 428 " [Vlanid=<id>] [VlanidMask=<mask>] [LookupClass=<class>]\n\t" 429 " [SourcePort=<id>] [SourcePortMask=<mask>]\n\t" 430 " [Module=<modid>] [Port=<port>] \n\t" 431 " [Trunk=true|false] [TrunkGroupId=<id>]\n\t" 432 " [SetPriority=true|false] [PRIOrity=<prio>]\n\t" 433 " [DiscardDest]=true|false] [CPUmirror=true|false]\n\t" 434 " [MIRror=true|false] [BPDU=true|false] [L3=true|false]\n\t" 435 " [ReplacePriority=true|false] [LearnDisable=true|false]\n\t" 436 " [PROTocolPacKeT=true|false]\n\t" 437 " - Add L2 cache entry\n\t" 438 " l2 cache del CacheIndex=<index> [Count=<value>]\n\t" 439 " - Delete L2 cache entry\n\t" 440 " l2 cache show\n\t" 441 " - Show L2 cache entries\n\t" 442 " l2 cache clear [ReInit=true|false]\n\t" 443 " - Delete all L2 cache entries\n\t" 444 #if defined(BCM_TRIUMPH_SUPPORT) 445 " l2 station add [Priority=<val>] [ID=<Sid>]\n\t" 446 " [MACaddress=<mac>] [MACaddressMask=<mask>]\n\t" 447 " [Vlanid=<id>] [VlanidMask=<mask>]\n\t" 448 " [SourcePort=<id>] [SourcePortMask=<mask>] \n\t" 449 " [IPv4=true|false] [IPv6=true|false] [ArpRarp=true|false]\n\t" 450 " [MPLS=true|false] [MiM=true|false] [TRILL=true|false]\n\t" 451 " [FCoE=true|false] [OAM=true|false] [CPUmirror=true|false]\n\t" 452 " [Replace=true|false] [Discard=true|false]\n\t" 453 " - Add L2 station entry\n\t" 454 " l2 station delete ID=<sid>\n\t" 455 " - Delete L2 station entry\n\t" 456 " l2 station clear\n\t" 457 " - Delete all L2 station entries\n\t" 458 " l2 station show ID=<sid> \n\t" 459 " - Show L2 station entry\n" 460 #endif /* BCM*/ 461 #endif /* BCM_XGS3_SWITCH_SUPPORT */ 462 #endif 463 ; 464 extern cmd_result_t if_esw_l2(int unit, args_t *a); 465 466 char if_esw_linkscan_usage[] = 467 "Parameters: [SwPortBitMap=<pbmp>] [HwPortBitMap=<pbmp>]\n\t" 468 "[Interval=<usec>] [FORCE=<pbmp>] [on] [off]\n" 469 #ifndef COMPILER_STRING_CONST_LIMIT 470 "\tWith no arguments, displays the linkscan status for all ports.\n\t" 471 "Enables software linkscan on ports specified by SwPortBitMap.\n\t" 472 "Enables hardware linkscan on ports specified by HwPortBitMap.\n\t" 473 "Disables linkscan on all other ports.\n\t" 474 "Interval specifies non-default linkscan interval for software.\n\t" 475 "Note: With linkscan disabled, autonegotiated ports will NOT have\n\t" 476 "the MACs updated with speed/duplex..\n\t" 477 "FORCE=<pbmp> requests linkscan to update ports once even if link\n\t" 478 "status did not change.\n" 479 #endif 480 ; 481 482 extern cmd_result_t if_esw_linkscan(int unit, args_t *a); 483 484 #ifdef SW_AUTONEG_SUPPORT 485 char if_esw_swAutoneg_usage[] = 486 "Parameters: [on] [off]\n"; 487 extern cmd_result_t if_esw_swAutoneg(int unit, args_t *a); 488 #endif 489 490 char cmd_esw_mem_list_usage[] = 491 "Parameters: [<TABLE> [<DATA> ...]]\n\t" 492 "If no parameters are given, displays a reference list of all\n\t" 493 "memories and their attributes.\n\t" 494 "If TABLE is given, displays the entry fields for that table.\n\t" 495 "If DATA is given, decodes the data into entry fields.\n"; 496 497 extern cmd_result_t cmd_esw_mem_list(int unit, args_t *a); 498 499 char cmd_esw_reg_list_usage[] = 500 "Usage: listreg [options] regname [value]\n" 501 "Options:\n" 502 " -alias/-a display aliases\n" 503 " -summary/-s display single line summary for each reg\n" 504 " -counters/-c display counters\n" 505 " -ed/-e display error/discard counters\n" 506 " -type/-t display registers grouped by block type\n" 507 "If regname is '*' or does not match a register name, a substring\n" 508 "match is performed. [] indicates register array.\n" 509 "If regname is a numeric address, the register that resides at that\n" 510 "address is displayed.\n"; 511 extern cmd_result_t cmd_esw_reg_list(int unit, args_t *a); 512 513 char if_esw_mcast_usage[] = 514 "Usages:\n\t" 515 #ifdef COMPILER_STRING_CONST_LIMIT 516 " mcast <option> [args...]\n" 517 #else 518 "For Switch Devices:\n\t" 519 " mcast add MACaddress=<val> Vlanid=<val> Cos=<val>\n\t" 520 " PortBitMap=<val> UntagBitMap=<val> Index=<val>\n\t" 521 " mcast delete MACaddress=<val> Vlanid=<val>\n\t" 522 " mcast join MACaddress=<val> Vlanid=<val> PortBitMap=<val>\n\t" 523 " mcast leave MACaddress=<val> Vlanid=<val> PortBitMap=<val>\n\t" 524 " mcast padd MACaddress=<val> Vlanid=<val> PortBitMap=<val>\n\t" 525 " mcast premove MACaddress=<val> Vlanid=<val> PortBitMap=<val>\n\t" 526 "For Fabric Devices:\n\t" 527 " mcast bitmap max\n\t" 528 " mcast bitmap set Port=<val> PortBitMap=<val> Index=<val>\n\t" 529 " mcast bitmap del Port=<val> PortBitMap=<val> Index=<val>\n\t" 530 " mcast bitmap get Port=<val> Index=<val>\n" 531 #endif 532 ; 533 extern cmd_result_t if_esw_mcast(int unit, args_t *a); 534 535 char if_esw_mirror_usage[] = 536 "mirror [options...]\n" 537 #ifndef COMPILER_STRING_CONST_LIMIT 538 "\tshow - display current mirror configuration\n" 539 "Switch Device Options:\n" 540 "\tMode=<Off|L2|L3> - set the mirroring mode\n" 541 "\tPort=<p> - set the mirror-to destination port\n" 542 "\tIngressBitMap=<pbmp> - ports with ingress mirroring enabled\n" 543 "\tEgressBitMap=<pbmp> - ports with egress mirroring enabled\n" 544 "\tPreserveForMat=<Off|On> - preserve format\n" 545 "Fabric Device Options: (5670/5675)\n" 546 "\tPort=<p> - which port to set the bitmap\n" 547 "\tBitMap=<pbmp> - destination bitmap for mirroring\n" 548 "Advanced Options: (subcmd dest) to use mirror destination features\n" 549 "\tcreate (cmd) - creates a new mirror destination\n" 550 "\tdestroy (cmd) - destroys mirror destination\n" 551 "\tadd (cmd) - add created mirror destination to a port\n" 552 "\tdelete (cmd) - delete mirror destination from a port\n" 553 "\tshow (cmd) - display currently defined mirror destinations\n" 554 "\tid=<id> (arg) - mirror destination id\n" 555 "\tdestport=<p> (arg) - mirror destination gport\n" 556 "\tsrcport=<p> (arg) - source mirror port/gport\n" 557 "\tmode=<OFF|Ingress|Egress|EgressTrue|IngressEgress> (arg) - mirroring mode\n" 558 "\ttunnel=<L2|GRE> (arg) - mirroring tunnel\n" 559 "\tsrcIP=<IPv4> (arg) - source IPv4 address for IP GRE tunneling\n" 560 "\tdestIP=<IPv4> (arg) - destination IPv4 address for IP GRE tunneling\n" 561 "\tsrcIP6=<IPv6> (arg) - source IPv6 address for IP GRE tunneling\n" 562 "\tdestIP6=<IPv6> (arg) - destination IPv6 address for IP GRE tunneling\n" 563 "\tsrcMAC=<MAC> (arg) - source MAC address for L2/IP GRE tunneling\n" 564 "\tdestMAC=<MAC> (arg) - destination MAC address for L2/IP GRE tunneling\n" 565 "\tvlan=<VLAN-ID> (arg) - VLAN ID for L2/IP GRE tunneling\n" 566 "\ttpid=<TPID> (arg) - TPID for L2/IP GRE tunneling\n" 567 "\tversion=<IP-Version> (arg) - Version field for IP GRE tunneling\n" 568 "\tttl=<TTL> (arg) - TTL field for IP GRE tunneling\n" 569 "\ttos=<TOD> (arg) - TOS field for IP GRE tunneling\n" 570 "\tFlowLable=<FlowLable> (arg) - IPv6 header flow label field for IP GRE tunneling\n" 571 "\tNoVlan=<T|F> (arg) - Strip VLAN tag from mirrored packet\n" 572 #endif 573 ; 574 575 extern cmd_result_t if_esw_mirror(int unit, args_t *a); 576 577 char regwatch_usage[] = 578 "Parameters: [Reg=<Reg>] [write] [read] [off]\n\t" 579 "Reg specifies which reg to watch\n\t" 580 "Write - specify to start watching writing operations on register\n\t" 581 "Read - specify to start watching reading operations on register\n\t" 582 "Off - specify to stop watching all operations on register\n"; 583 584 extern cmd_result_t reg_watch(int unit, args_t *a); 585 586 extern cmd_result_t cmd_esw_ser(int unit, args_t *a); 587 588 char memwatch_usage[] = 589 "Usages:\n\t" 590 #ifdef COMPILER_STRING_CONST_LIMIT 591 "memwatch [options...]\n" 592 #else 593 "All Memories Read/Write Counting Watch Options:\n\t" 594 "memwatch start\n\t" 595 " - Start to counting read/write operations on all memory\n\t" 596 " It is turned-on by default\n\t" 597 "memwatch stop [clear]\n\t" 598 " - Stop to counting read/write operations on all memory\n\t" 599 " -Clear - specify to clear memory counters\n\t" 600 "memwatch show [ |read|write] [all]\n\t" 601 " -Blank - specify to show both memory rd/wr-count update\n\t" 602 " -Read - specify to show memory rd-count update\n\t" 603 " -Write - specify to show memory wr-count update\n\t" 604 " -ALL - specify to show memory rd/wr-count even if no update\n\t" 605 "Specify which memory to watch:\n\t" 606 "memwatch [Mem=<Memory>] [write] [read] [off]\n\t" 607 " -Mem - memory to watch\n\t" 608 " -Write - specify to start watching writing operations on memory\n\t" 609 " -Read - specify to start watching reading operations on memory\n\t" 610 " -Off - specify to stop watching all operations on memory\n" 611 #endif 612 ; 613 extern cmd_result_t mem_watch(int unit, args_t *a); 614 615 char memfirst_usage[] = 616 "Parameters: [None]\n\t" 617 "Displays first valid memories and Total Valid memories for chip \n\t" 618 "Will set mem_name and mem_count for external use \n"; 619 620 extern cmd_result_t mem_first(int unit, args_t *a); 621 622 char memnext_usage[] = 623 "Parameters: [None]\n\t" 624 "Displays next valid memories and Total Valid memories for chip \n\t" 625 "Will set mem_name for external use \n"; 626 627 extern cmd_result_t mem_next(int unit, args_t *a); 628 629 char cmd_esw_mem_modify_usage[] = 630 "Parameters: <TABLE>[.<COPY>] <ENTRY> <ENTRYCOUNT>\n\t" 631 " <FIELD>=<VALUE>[,...]\n\t" 632 "If nocheck_mem_mode is specified, checking of unique_global mode, slice_mode will be skipped\n\t" 633 "Read/modify/write field(s) of a table entry(s).\n"; 634 635 extern cmd_result_t cmd_esw_mem_modify(int unit, args_t *a); 636 637 char cmd_esw_reg_mod_usage[] = 638 "Parameters: [nocache] <REGISTER> <FIELD>=<VALUE>[,...]\n\t" 639 "[nocache] if nocache is specified, just update H/W data, skip cache.\n\t" 640 "<REGISTER> is SOC register symbolic name.\n\t" 641 "<FIELD>=<VALUE>[,...] is a list of fields to affect,\n\t" 642 "for example: L3_ENA=0,CPU_PRI=1.\n\t" 643 "Fields not specified in the list are left unaffected.\n\t" 644 "For a list of register types, use \"dump\".\n"; 645 646 extern cmd_result_t cmd_esw_reg_mod(int unit, args_t *a); 647 648 char cmd_esw_pbmp_usage[] = 649 "Parameters: <pbmp>\n" 650 #ifndef COMPILER_STRING_CONST_LIMIT 651 "\tConverts a pbmp string into a hardware port bitmap. A pbmp string\n\t" 652 "is a single port, or a group of ports specified in a list using ','\n\t" 653 "to separate them and '-' for ranges, e.g. 1-8,25,cpu. Ports may be\n\t" 654 "specified using the one-based port number (1-29) or port type and\n\t" 655 "zero-based number (fe0-fe23,ge0-ge7). 'cpu' is the CPU port,\n\t" 656 "'fe' is all FE ports, 'ge' is all GE ports, 'e' is all ethernet\n\t" 657 "ports, 'all' is all ports, and 'none' is no ports (0x0).\n\t" 658 "A '~' may be used to exclude port previously given (e.g. e,~fe19)\n\t" 659 "Acceptable strings and values also depend on the chip being used.\n\t" 660 "A pbmp may also be given as a raw hex (0x) number, e.g. 0xbffffff.\n" 661 #endif 662 ; 663 extern cmd_result_t cmd_esw_pbmp(int unit, args_t *a); 664 665 char if_esw_phy_usage[] = 666 #ifdef COMPILER_STRING_CONST_LIMIT 667 " phy <option> [args...]\n" 668 "Default: [int] <ports> [regnum [value/devad] [value]]\n" 669 "Subcommands: raw, dumpall, info, control, firmware, eee,\n" 670 " power, longreach, prbs, clock, margin, oam\n" 671 #else 672 "Parameters: [int] <ports> [regnum [value/devad] [value]]\n" 673 " raw [c45|sbus|sim] <mii-addr> [devad[.lane]] <regnum> [<value>[/<mask>]]\n" 674 " dumpall <c22|c45> [start_phy_addr [end_phy_addr]]\n" 675 " info\n" 676 " control <ports> [phy_control_type=value]\n" 677 " firmware <port> set=<filename> [-y]\n" 678 " eee <port> [mode=<native|auto|none>|latency=<variable|fixed>|\n" 679 " stats=<get|clear>|idle_th=<0-7>\n" 680 " power <ports> [mode=mode_type [sleep_time=value] " 681 "[wake_time=value]]\n" 682 " longreach <ports> [parameter=value]\n" 683 " prbs <ports> set|get|clear Mode=<hc|si> [Polynomial=<value>]\n" 684 " [LoopBack=true|false]\n" 685 " clock <ports> [PRImary=<t|f>] [SECondary=<t|f>]\n" 686 " [FRequency=<125000|195312|156250> for BCM8747]\n" 687 " margin <ports> maxget|valueget|valueset|set|clear [marginval=<value>]\n" 688 " oam <ports> [MODE={y1731|bhh|ietf}] [DIR={tx|rx}] \n" 689 " [MacCheck={yes|no}] [ENTROPY={yes|no}] \n" 690 " [TimeStampFormat={ntp|ptp}] [ETHerType=<value>] \n" 691 " [MACIndex={1|2|3}] [MACAddrHi=<value[47:32]]\n" 692 " [MACAddrLow=<value[31:0]>] \n" 693 " [MACAddrHi1=<value[47:32]>] [MACAddrLow1=<value[31:0]>] \n" 694 " [MACAddrHi2=<value[47:32]>] [MACAddrLow2=<value[31:0]>] \n" 695 " [MACAddrHi3=<value[47:32]>] [MACAddrLow3=<value[31:0]>] \n" 696 #ifdef INCLUDE_PHY_SYM_DBG 697 " SymDebug <tcp port num>\n" 698 " SymDebugOff\n" 699 #endif 700 "\tSet or display PHY registers. If only <ports> is specified,\n\t" 701 "then registers for those ports' PHYs are displayed. <ports> is a\n\t" 702 "standard port bitmap, e.g. fe for all 10/100 ports, fe5-fe7 for\n\t" 703 "three FE's, etc. (see \"help pbmp\"). If the int option is given,\n\t" 704 "the intermediate PHY for the port is used instead of the outer PHY.\n\t" 705 "In 'raw' mode, the direct mii-address can be specified. 'c45', 'sbus'\n\t" 706 "and 'sim' raw modes require a devad parameter, and only 'sbus' and 'sim'\n\t" 707 "raw modes support optional lane and mask.\n\t" 708 "dumpall <c22|c45> - Do a clause 22 or clause 45 PHY scan of ID registers\n\t" 709 "info - display PHY device ID and attached PHY drivers\n\t" 710 #ifdef BCM_DFE_SUPPORT 711 "verbose - set PHY verbosity level. Example usage: phy verbose p=1 v=10\n\t" 712 #endif 713 "firmware - program the firmware given by the filename to the PHY \n\t" 714 " device's non-volatile storage. The file must be in binary\n\t" 715 " format.\n\t" 716 "eee - set or display eee mode, latency and counters for PHYs devices\n\t" 717 " implementing EEE. Mode can be native or auto. Latency may be \n\t" 718 " variable or fixed. idle_th may be a value from 0 to 7.\n\t" 719 "power - set or display power mode for the PHY devices implemented\n\t" 720 " power control. mode_type has these values: auto_low,\n\t" 721 " auto_down,auto_off,low and full. sleep_time and wake_time \n\t" 722 " only applies to auto_down power mode\n\t" 723 "control - set or display PHY settings such as WAN, Preemphasis, etc.,\n\t" 724 "longreach - set or display PHY longreach settings.\n\n\t" 725 "diag - phy diagnostic commands.\n\t" 726 "phy diag <pbm> <sub_cmd> [sub cmd parameters]\n\t" 727 " All sub commands take two general parameters: unit and if. This identifies\n\t" 728 " the instance the command targets to.\n\t" 729 "unit = 0,1, ....\n\t" 730 " unit takes numeric values identifying the instance of the PHY devices\n\t" 731 " associated with the given port. A value 0 indicates the internal\n\t" 732 " PHY(serdes) the one directly connected to the MAC. A value 1 indicates\n\t" 733 " the first external PHY.\n\t" 734 "if(interface) = [sys | line]\n\t" 735 " interface identifies the system side interface or line side interface of\n\t" 736 " PHY device.\n\t" 737 "The list of sub commands:\n\t" 738 " dsc - display lane information, include sigdet, lock etc.\n\t" 739 " Example:\n\t" 740 " BCM.0> phy diag ce0 dsc debug u=0 if=line\n\t" 741 " BCM.0> phy diag ce0 dsc debug u=1 if=sys\n\t" 742 " veye - vertical eye margin mesurement. WC only. All eye margin functions\n\t" 743 " are used in conjunction with PRBS utility in the configed speed mode\n\t" 744 " heye_r - right horizontal eye margin mesurement. WC only\n\t" 745 " heye_l - right horizontal eye margin mesurement. WC only\n\t" 746 " for the WarpLite, there are three additional parameters, live link or not,\n\t" 747 " par1 for the target BER value for example: -18 stands for 10^(-18)\n\t" 748 " par2 will be percentage range for example, 5 means checxk for +-%5 of the target BER\n\t" 749 " loopback - put the device in the given loopback mode\n\t" 750 " parameter: mode=[remote | local | none]\n\t" 751 " prbs - perform various PRBS functions. Takes all parameters of the\n\t" 752 " \"phy prbs\" command except the mode parameter.\n\t" 753 " Example:\n\t" 754 " A port has a WC serdes and 84740 PHY connected. A typical usage\n\t" 755 " is to use the PRBS to check the link between WC and the system\n\t" 756 " side of the 84740. Use port xe0 as an example:\n\t" 757 " BCM.0> phy diag xe0 prbs set unit=0 p=3\n\t" 758 " BCM.0> phy diag xe0 prbs set unit=1 if=sys p=3\n\t" 759 " BCM.0> phy diag xe0 prbs get unit=1 if=sys\n\t" 760 " BCM.0> phy diag xe0 prbs get unit=0\n\t" 761 #ifdef BCM_TOMAHAWK3_SUPPORT 762 " prbsstat - periodically collect PRBS error counters and\n\t" 763 " compute BER based on the port configuration and\n\t" 764 " the observed error counters.\n\t" 765 " prbsstat assumes PRBS is already running on the ports\n\t" 766 " that prbsstat will be monitoring.\n\t" 767 " Parameters:\n\t" 768 " [STArt [Interval=<secs>]]\n\t" 769 " [STOp]\n\t" 770 " [Counters]\n\t" 771 " [Ber]\n\t" 772 " [Clear]\n\t" 773 " Example:\n\t" 774 " BCM.0> phy diag cd0-cd3 prbsstat ?\n\t" 775 " BCM.0> phy diag cd0-cd3 prbsstat\n\t" 776 " BCM.0> phy diag cd0-cd3 prbsstat start i=60\n\t" 777 " BCM.0> phy diag cd0-cd3 prbsstat counters\n\t" 778 " BCM.0> phy diag cd0-cd3 prbsstat ber\n\t" 779 " BCM.0> phy diag cd0-cd3 prbsstat clear\n\t" 780 " BCM.0> phy diag cd0-cd3 prbsstat stop\n\t" 781 " fecstat - periodically collect FEC status counters such as\n\t" 782 " corrected and uncorrected FEC codewords and corrected\n\t" 783 " symbols for a given port.\n\t" 784 " The command then uses the corrected symbol count to compute\n\t" 785 " the pre-FEC bit error rate for the channel.\n\t" 786 " Parameters:\n\t" 787 " [STArt [Interval=<secs>]]\n\t" 788 " [STOp]\n\t" 789 " [Counters]\n\t" 790 " [Ber]\n\t" 791 " [Clear]\n\t" 792 " Example:\n\t" 793 " BCM.0> phy diag cd0-cd3 fecstat ?\n\t" 794 " BCM.0> phy diag cd0-cd3 fecstat\n\t" 795 " BCM.0> phy diag cd0-cd3 fecstat start i=10\n\t" 796 " BCM.0> phy diag cd0-cd3 fecstat counters\n\t" 797 " BCM.0> phy diag cd0-cd3 fecstat ber\n\t" 798 " BCM.0> phy diag cd0-cd3 fecstat clear\n\t" 799 " BCM.0> phy diag cd0-cd3 fecstat stop\n\t" 800 #endif /* BCM_TOMAHAWK3_SUPPORT */ 801 #ifdef PHYMOD_LINKCAT_SUPPORT 802 " linkcat - Channel Analysis tool\n\t" 803 " Example:\n\t" 804 " BCM.0> phy diag xe0 linkcat lane=1\n\t" 805 " Mode default to lpbk\n\t" 806 " BCM.0> phy diag xe0 linkcat lane=1 mode=><tx/rx/lpbk/err>\n\t" 807 #endif /* PHYMOD_LINKCAT_SUPPORT */ 808 " linkmon - perform various PCS linkmonitor functions. Takes following parameters \n\t" 809 " unit, interface side(line/sys), lane(lane number if 0xf enable linkmon \n\t" 810 " on the lane of a port), mode (link mon mode: 0:LMM OFF, 1: LMM_PCS49_1X10G,\n\t" 811 " 2: LMM_PCS82_4X10G, 3: LMM_PCS82_2X25G, 4: LMM_PCS82_4X25G, 5: LMM_FC4,\n\t" 812 " 6: LMM_FC8, 7: LMM_FC16, 8: LMM_FC32,\n\t" 813 " Example:\n\t" 814 " A typical usage of link monitor to check PCS link between TSCF and \n\t" 815 " the system side of the 82381. Use port ce0 as an example:\n\t" 816 " BCM.0> phy diag ce0 linkmon set u=1 if=line lane=1 mode=4\n\t" 817 " BCM.0> phy diag ce0 linkmon get u=1 if=line lane=1 \n\t" 818 " BCM.0> phy diag ce0 linkmon set u=1 if=line lane=1 mode=0\n\t" 819 " mfg - run manufacturing test on PHY BCM8483X\n\t" 820 " parameter: (t)est=num (d)ata=<val> (f)ile=filename\n\t" 821 " Test should be :\n\t" 822 " 1 (HYB_CANC), needs (f)ile=filename\n\t" 823 " 2 (DENC), needs (f)ile=filename\n\t" 824 " 3 (TX_ON) needs (d)ata = bit map for turning TX off on pairs DCBA\n\t" 825 " 0 (EXIT)\n\t" 826 " berproj - Post FEC BER projection. Takes following parameters \n\t" 827 " berproj [hist_errcnt_threshold=<value>] [sample_time=<value>] \n\t" 828 " Example:\n\t" 829 " BCM.0> phy diag cd0 berproj\n\t" 830 " BCM.0> phy diag cd0 berproj sample_time=80\n\t" 831 " BCM.0> phy diag cd0 berproj hist_errcnt_threshold=4\n\t" 832 #ifdef INCLUDE_PHY_SYM_DBG 833 "SymDebug - Mode that lets to connect to PHY GUI (from PHY team) to\n\t" 834 " perform MDIO read/writes on PHYs\n\t" 835 "SymDebugOff - Turn off the symbolic debug Mode\n\t" 836 #endif 837 "prbs - set, get, or clear internal PRBS generator/checker.\n" 838 #endif 839 ; 840 extern cmd_result_t if_esw_phy(int unit, args_t *a); 841 842 char if_esw_port_usage[] = 843 #ifdef COMPILER_STRING_CONST_LIMIT 844 "Usage: port <option> [args...]\n" 845 #else 846 "Parameters: <pbmp> [[ENCap=IEEE|HIGIG|B5632|HIGIG2|HGOE]\n\t" 847 "[AutoNeg=on|off] [ADVert=<portmode>]\n\t" 848 "[LinkScan=on|off|hw|sw] [SPeed=10|100|1000] [FullDuplex=true|false]\n\t" 849 "[TxPAUse=on|off] [RxPAUse=on|off] [STationADdr=<macaddr>]\n\t" 850 "[LeaRN=<learnmode>] [DIScard=none|untag|all] [VlanFilter=<value>]\n\t" 851 "[PRIOrity=<0-7>] [PortFilterMode=<value>]\n\t" 852 "[PHymaster=<Master|Slave|Auto|None>] [Enable=<true|false>]\n\t" 853 "[FrameMax=<value>]\n\t" 854 "[MDIX=Auto|ForcedAuto|ForcedNormal|ForcedXover]\n\t" 855 "[LoopBack=NONE|MAC|PHY]\n\t" 856 "[MEdium=None|Copper|Fiber]]\n\t" 857 "| [[EEE] [ENable=<enable|disable>|TxIDleTime=<0-2560>|TxWakeTime=<0-2560>|STats=<get>]]\n\t" 858 #if defined(BCM_TRIDENT2PLUS_SUPPORT) || defined(BCM_TOMAHAWK_SUPPORT) 859 "[ASF(in case of multimode asf)=<0-3>]\n\t" 860 "[ASF(in case regular asf)=<0-1>]\n\t" 861 #endif 862 "If only <ports> is specified, characteristics for that port are\n\t" 863 "displayed. <ports> is a standard port bitmap (see \"help pbmp\").\n\t" 864 "If AutoNeg is on, SPeed and DUPlex are the ADVERTISED MAX values.\n\t" 865 "If AutoNeg is off, SPeed and DUPlex are the FORCED values.\n\t" 866 "SPeed of zero indicates maximum speed.\n\t" 867 "LinkScan enables automatic scanning for link changes with updating\n\t" 868 "of MAC registers, and EPC_LINK (or equivalent)\n\t" 869 "PAUse enables send/receive of pause frames in full duplex mode.\n\t" 870 "<learnmode> is a numeric value controlling source lookup failure\n\t" 871 "packets; it may include bit 0 to enable hardware L2 learn, bit 1\n\t" 872 "to copy SLF packets to CPU, bit 2 to forward SLF packets.\n\t" 873 "VlanFilter drops input packets that not tagged with a valid VLAN\n\t" 874 "that contains the port. For XGS3, VlanFilter takes a value 0/1/2/3 where\n\t" 875 "bit 0 turns on/off ingress filter and bit 1 turns on/off egress filter.\n\t" 876 "PRIOrity sets the priority for untagged packets coming on this port.\n\t" 877 "PortFilterMode takes a value 0/1/2 for mode A/B/C (see register manual).\n\t" 878 #if defined(BCM_TRIDENT2PLUS_SUPPORT) || defined(BCM_TOMAHAWK_SUPPORT) 879 "EEE: Energy Efficient Ethernet.\n\t" 880 "ASF: Alternative Store and Forward (cut-thru mode).\n\t" 881 "ASF Modes(in case of multimode asf): [0]SAF [1]Same Speed [2]Slow to Fast [3]Fast to Slow\n\t" 882 "ASF Modes(in case regular asf): [0]Disable [1]Enable\n\t" 883 #else 884 "EEE: Energy Efficient Ethernet.\n" 885 #endif 886 #endif 887 ; 888 extern cmd_result_t if_esw_port(int unit, args_t *a); 889 890 char if_esw_gport_usage[] = 891 #ifdef COMPILER_STRING_CONST_LIMIT 892 "Usage: port = <port> \n" 893 #else 894 "Parses and construct GPORT from given parameters \n\t" 895 "Parameters: <port=gporttype(modid,portnum)> where gporttype can be \n\t" 896 "modport/mp - MODPORT_GPORT takes modid and port num or name \n\t" 897 "local - LOCAL_GPORT takes only port num or name \n\t" 898 "trunk - TRUNK_GPORT takes only trunk id \n\t" 899 "devport - DEVPORT_GPORT takes port nuber or name \n\t" 900 "localcpu/lc - LOCAL_CPU_GPORT no input required \n\t" 901 "invalid - INVALID_GPORT no input required \n\t" 902 "blackhole/bh - BLACKHOLE_GPORT no input required \n\t" 903 "mpls - MPLS_GPORT takes mpls vpn \n\t" 904 "mim - MIM_GPORT takes mim id \n\t" 905 "wlan - WLAN_GPORT takes wlan vpn \n\t" 906 "sub - SUBPORT_GPORT takes subport port id \n\t" 907 "subg - SUBPORT_GROUP_GPORT takes subport group id \n\t" 908 "vlan - VLAN_GPORT takes vlan port id \n\t" 909 "vxlan - VXLAN_GPORT takes vxlan port id \n\t" 910 "trill - TRILL_GPORT takes trill port id \n\t" 911 "niv - NIV_GPORT takes niv port id \n\t" 912 "l2gre - L2GRE_GPORT takes l2gre port id \n\t" 913 "extender - EXTENDER_GPORT takes extender port id \n\t" 914 "\n" 915 #endif 916 ; 917 918 extern cmd_result_t if_esw_gport(int unit, args_t *a); 919 920 char if_esw_port_rate_usage[] = 921 "Set/Display port rate metering characteristics.\n" 922 "Parameters: <pbm> [ingress|egress|pause [arg1 arg2]]\n\t" 923 " For Ingress or Egress: arg1 is rate, arg2 is max_burst\n\t" 924 " For Pause: arg1 is pause_thresh, arg2 is resume_thresh\n\t" 925 " rate is in kilobits (1000 bits) per second\n\t" 926 " max_burst and xxx_thresh are in kilobits (1000 bits)\n"; 927 extern cmd_result_t if_esw_port_rate(int unit, args_t *a); 928 929 char if_esw_port_stat_usage[] = 930 "Display info about port status in table format.\n" 931 " Link scan modes:\n" 932 " SW = software\n" 933 " HW = hardware\n" 934 " Learn operations (source lookup failure control):\n" 935 " F = SLF packets are forwarded\n" 936 " C = SLF packets are sent to the CPU\n" 937 " A = SLF packets are learned in L2 table\n" 938 " D = SLF packets are discarded.\n" 939 " Pause:\n" 940 " TX = Switch will transmit pause packets\n" 941 " RX = Switch will obey pause packets\n"; 942 extern cmd_result_t if_esw_port_stat(int unit, args_t *a); 943 char cmd_esw_reg_set_usage[] = 944 "1. Parameters: [<REGTYPE>] <REGISTER> <VALUE>\n\t" 945 "If <REGTYPE> is not specified, it defaults to \"soc\".\n\t" 946 "<REGISTER> is offset, address, or symbolic name.\n" 947 "2. Parameters: <REGISTER> <FIELD>=<VALUE>[,...]\n\t" 948 "<REGISTER> is SOC register offset or symbolic name.\n\t" 949 "<FIELD>=<VALUE>[,...] is a list of fields to affect,\n\t" 950 "for example: L3_ENA=0,CPU_PRI=1.\n\t" 951 "Fields not specified in the list are set to zero.\n\t" 952 "For a list of register types, use \"help dump\".\n"; 953 extern cmd_result_t cmd_esw_reg_set(int unit, args_t *a); 954 955 char if_esw_pvlan_usage[] = 956 "Usages:\n\t" 957 " pvlan show <pbmp>\n\t" 958 " - Show PVLAN info for these ports.\n\t" 959 " pvlan set <pbmp> <vid>\n\t" 960 " - Set default VLAN tag for port(s)\n\t" 961 " Port bitmaps are read from the VTABLE entry for the VID.\n\t" 962 " <vid> must have been created and all ports in <pbmp> must\n\t" 963 " belong to that VLAN.\n"; 964 extern cmd_result_t if_esw_pvlan(int unit, args_t *a); 965 966 char cmd_esw_rate_usage[] = 967 "Parameters: [PortBitMap=<pbm>] [Limit=<limit>] [Bcast=true|false]\n\t" 968 " [Mcast=true|false] [Dlf=true|false]\n\t" 969 "Enables the specified packet rate controls.\n\t" 970 " pbm port(s) to set up or display\n\t" 971 " limit packets per second\n\t" 972 " bcast Enable broadcast rate control\n\t" 973 " mcast Enable multicast rate control\n\t" 974 " dlf Enable DLF flooding rate control\n\t" 975 "If no flags are given or only <pbm> is given, displays the current\n\t" 976 "rate settings.\n"; 977 extern cmd_result_t cmd_esw_rate(int unit, args_t *a); 978 979 char cmd_esw_rx_cfg_usage[] = 980 "rxcfg [<chan>] [options...]\n" 981 #ifndef COMPILER_STRING_CONST_LIMIT 982 " With no options, displays current configuration\n" 983 " Global options include:\n" 984 " SPPS=<n> Set system-wide packet per second limit\n" 985 " Other options combined this are ignored\n" 986 " GPPS=<n> Set global (all COS) pkts per second limit\n" 987 " PKTSIZE=<n> Set maximum receive packet size\n" 988 " PPC=<n> Set the number of pkts/chain\n" 989 " BURST=<n> Set global (all COS) packet burst size\n" 990 " COSPPS<n>=<r> Set the per COS rate limiting\n" 991 " FREE=[T|F] Should handler free buffers?\n" 992 " Channel specific options include:\n" 993 " CHAINS=<n> Set the number of chains for the channel\n" 994 " PPS=<n> Set packet per second for channel\n" 995 " COSBMP=<bmp> COS bitmap to accept on channel\n" 996 " Global options can be given w/o a channel. Channel options\n" 997 " require that a channel be specified.\n" 998 " The channel's burst rate is #chains * pkts/chain\n" 999 #endif 1000 ; 1001 extern cmd_result_t cmd_esw_rx_cfg(int unit, args_t *a); 1002 1003 char cmd_esw_rx_init_usage[] = 1004 "RXInit <override-unit>\n" 1005 " Call bcm_rx_init on the given override unit. Ignores" 1006 " the current unit.\n"; 1007 extern cmd_result_t cmd_esw_rx_init(int unit, args_t *a); 1008 1009 char cmd_esw_rx_mon_usage[] = 1010 "Parameters [init|start|stop|show|[-]enqueue [n]]\n" 1011 #ifndef COMPILER_STRING_CONST_LIMIT 1012 "With no parameters, show whether or not active.\n" 1013 " init: Initialize the RX API, but don't register handler\n" 1014 " start: Call RX start with local pkt dump routine\n" 1015 " Modify the configuration with the rxcfg command\n" 1016 " stop: Call RX stop\n" 1017 " [-]enqueue [n]: Enqueue packets to be freed later in thread\n" 1018 " If n > 0, enqueue at least n pkts before freeing\n" 1019 " stop: Call RX stop\n" 1020 " show: Call RX show\n" 1021 #endif 1022 ; 1023 extern cmd_result_t cmd_esw_rx_mon(int unit, args_t *a); 1024 1025 #if defined(BCM_KATANA_SUPPORT) || defined(BCM_TRIUMPH3_SUPPORT) 1026 char if_esw_port_policer_usage[] = 1027 "Display info about port status in table format.\n" 1028 "Usages:\n\t" 1029 " PortPolicer Set <pbmp><policer_id>\n\t" 1030 " - Set policer for Port\n\t" 1031 " PortPolicer Get <pbmp>\n\t" 1032 " - Get policer for Port\n\t"; 1033 extern cmd_result_t if_esw_port_policer(int unit, args_t *a); 1034 extern cmd_result_t cmd_esw_policer_global_meter(int unit, args_t *a); 1035 #endif 1036 1037 char cmd_esw_show_usage[] = 1038 "Usages:\n" 1039 #ifdef COMPILER_STRING_CONST_LIMIT 1040 " show <args>\n" 1041 #else 1042 " show Pci - Probe and display function 0 of all busses/devices\n" 1043 " show CHips - Show all driver-supported device IDs\n" 1044 " show Counters [Changed] [Same] [Z] [NZ] [Hex] [Raw] [<reg>][.][<pbmp>]\n" 1045 "\tDisplay all counters, or only specified regs and/or ports\n" 1046 "\t Changed - include counters that changed\n" 1047 "\t Same - include counters that did not change\n" 1048 "\t Z - include counters that are zero\n" 1049 "\t Nz - include counters that are not zero\n" 1050 "\t All - same as: Changed Same Z Nz\n" 1051 "\t Hex - display counters as 64-bit hex values\n" 1052 "\t Raw - display raw 64-bit hex values, no register name(s)\n" 1053 "\t ErDisc - Only show those counters marked with Error/Discard\n" 1054 "\tNOTES: If neither Changed or Same is specified, Change is used.\n" 1055 "\t If neither Z or Nz is specified, Nz is used.\n" 1056 "\t Use All to display counters regardless of value.\n" 1057 " show Statistics [pbm] [all] - SNMP accumulated statistics, all shows 0s\n" 1058 " show <mem> - memory info (\"listmem\" for list)\n" 1059 " show sa - software ARL table\n" 1060 " show Errors - logged error counts for certain errors\n" 1061 " show Interrupts - interrupt counts for most interrupt types\n" 1062 " show params [<chip>] - Chip parameters (chip id or current unit)\n" 1063 " show unit [<unit>] - Unit list or unit parameters\n" 1064 " show features [all] - Show enabled (or all) features for this unit\n" 1065 #if defined(BCM_KATANA2_SUPPORT) 1066 " show linkphy - Show linkphy hw information for this unit\n" 1067 #endif /* BCM_KATANA2_SUPPORT */ 1068 #if defined(VXWORKS) 1069 " show ip - IP statistics\n" 1070 " show icmp - ICMP statistics\n" 1071 " show arp - ARP statistics\n" 1072 " show udp - UDP statistics\n" 1073 " show tcp - TCP statistics\n" 1074 " show mux - MUX protocol stack backplane\n" 1075 " show routes - IP routing table\n" 1076 " show hosts - IP host table\n" 1077 #endif /* VXWORKS */ 1078 #endif 1079 ; 1080 extern cmd_result_t cmd_esw_show(int unit, args_t *a); 1081 1082 char cmd_esw_soc_usage[] = 1083 "Parameters: [<unit #>] ... \n\t" 1084 "Print internal SOC driver control information IF compiled as a \n\t" 1085 "debug version. If not compiled as a debug version, a warning is\n\t" 1086 "printed and the command completes successfully with no further\n\t" 1087 "output\n"; 1088 extern cmd_result_t cmd_esw_soc(int unit, args_t *a); 1089 1090 char if_esw_stg_usage[] = 1091 "Usages:\n\t" 1092 #ifdef COMPILER_STRING_CONST_LIMIT 1093 " stg <option> [args...]\n" 1094 #else 1095 " stg create [<id>] - Create a STG; optionally specify ID\n\t" 1096 " stg destroy <id> - Destroy a STG\n\t" 1097 " stg show [<id>] - List STG(s)\n\t" 1098 " stg add <id> <vlan_id> [...] - Add VLAN(s) to a STG\n\t" 1099 " stg remove <id> <vlan_id> [...] - Remove VLAN(s) from a STG\n\t" 1100 " stg stp - Get span tree state, all ports/STGs\n\t" 1101 " stg stp <id> - Get span tree state of ports in STG\n\t" 1102 " stg stp <id> <pbmp> <state> - Set span tree state of ports in STG\n\t" 1103 " (disable/block/listen/learn/forward)\n\t" 1104 " stg default [<id>] - Show or set the default STG\n" 1105 #endif 1106 ; 1107 extern cmd_result_t if_esw_stg(int unit, args_t *a); 1108 1109 char if_esw_trunk_usage[] = 1110 "Usages:\n\t" 1111 #ifdef COMPILER_STRING_CONST_LIMIT 1112 " trunk <option> [args...]\n" 1113 #else 1114 " trunk init\n\t" 1115 " - Initialize trunking function\n\t" 1116 " trunk deinit\n\t" 1117 " - Deinitialize trunking function\n\t" 1118 " trunk add <Id=val> <Rtag=val> <Pbmp=val>\n\t" 1119 " - Add ports to a trunk\n\t" 1120 " trunk remove <Id=val> <Pbmp=val>\n\t" 1121 " - Remove ports from a trunk\n\t" 1122 " trunk show [<Id=val>]\n\t" 1123 " - Display trunk information\n\t" 1124 " trunk egress [<Id=val>] <Pbmp=val>\n\t" 1125 " - Set egress ports for trunk\n\t" 1126 " trunk mcast <Id=val> <Mac=val> <Vlan=val>\n\t" 1127 " - Join multicast to a trunk\n\t" 1128 #ifdef BCM_FIREBOLT_SUPPORT 1129 " trunk hash set <Pbmp=val> <HashValue=val>\n\t" 1130 " - Set ingress port hash value to select egress port of a trunk\n\t" 1131 " trunk hash get <Pbmp=val>\n\t" 1132 " - Get ingress port programmable hash value\n\t" 1133 #endif /* BCM_FIREBOLT_SUPPORT */ 1134 " trunk psc <Id=val> <Rtag=val>\n\t" 1135 " - Change Rtag (for testing ONLY)\n" 1136 #endif 1137 ; 1138 extern cmd_result_t if_esw_trunk(int unit, args_t *a); 1139 1140 char cmd_esw_tx_usage[] = 1141 "Parameters: <Count> [options]\n" 1142 #ifndef COMPILER_STRING_CONST_LIMIT 1143 " Transmit the specified number of packets, if the contents of the\n" 1144 " packets is important, they may be specified using options.\n" 1145 " Supported options are:\n" 1146 " Untagged[yes/no] - Specify packet should be sent untagged(XGS3)\n" 1147 " TXUnit=<val> - Transmit unit number\n" 1148 " PortBitMap=<pbmp> - Specify port bitmap packet is sent to.\n" 1149 " UntagBitMap=<pbmp> - Specify untag bitmap used for DMA.\n" 1150 " File=<filename> - Load hex packet data from file and ignore\n" 1151 " various other pattern parameters below.\n" 1152 " DATA=<packet> - Parse string given by user as packet payload\n" 1153 " Length=<value> - Specify the total length of the packet,\n" 1154 " including header, possible tag, and CRC.\n" 1155 " VLantag=<value> - Specify the VLAN tag used, only the low\n" 1156 " order 16-bits are used (VLANID=0 for none)\n" 1157 " VlanPrio - VLAN Priority.\n" 1158 " PrioInt - Internal Priority.\n" 1159 " Pattern=<value> - Specify 32-bit data pattern used.\n" 1160 " PatternInc=<value> - Value by which each word of the data\n" 1161 " pattern is incremented\n" 1162 " PatternRandom[yes/no] - Use Random data pattern\n" 1163 " PerPortSrcMac=[0|1] - Associate specific (different) src macs\n" 1164 " with each source port.\n" 1165 " SourceMac=<value> - Source MAC address in packet\n" 1166 " SourceMacInc=<val> - Source MAC increment\n" 1167 " DestMac=<value> - Destination MAC address in packet.\n" 1168 " DestMacInc=<value> - Destination MAC increment.\n" 1169 " PurGe[yes/no] - Send packet with purge Indication(XGS3)\n" 1170 " McQType=[yes/no] - Send packet to MC queue(XGS3)\n" 1171 #if defined(BCM_TOMAHAWK_SUPPORT) 1172 " VisibilitySourcePort=<port> - Source port for visibility trace\n" 1173 " Select 'any' to disable\n" 1174 " VisibilityOptions=<value> - Visibility options\n" 1175 " - 0x1 BCM_PKT_TRACE_LEARN\n" 1176 " - 0x2 BCM_PKT_TRACE_NO_IFP\n" 1177 " - 0x4 BCM_PKT_TRACE_FORWARD\n" 1178 #endif 1179 #if defined(BCM_CPU_TX_PROC_SUPPORT) 1180 " TxProcMhDestinationType=<opcode> - Case/Destination type\n" 1181 " - Choose from VLAN_FLOOD, L2MC, IPMC, DGPP\n" 1182 " ECMP, ECMP_MEMBER and NHI\n" 1183 " TxProcMhSourcePort=<port> - Packet Processing port used to gauge loopback port\n" 1184 " to send the packet to\n" 1185 " TxProcMhDestination=<value> - Destination Index/Value\n" 1186 " TxProcMhDestinationPort=<port> - Destination port\n" 1187 " TxProcMhEcmpGroup=<value> - ECMP group index value\n" 1188 " TxProcMhEcmpMember=<value> - ECMP member index value\n" 1189 " TxProcMhRoutedPkt[Yes/No] - L3 Routed packet\n" 1190 " TxProcMhMcastLbIndexValid[Yes/No] - Load balancing for Non Unicast Packets\n" 1191 " TxProcMhMcastLbIndex=<value> - Select entry in NONUCAST_TRUNK_BLOCK_MASK table\n" 1192 " Used to control load balancing for non unicast packets\n" 1193 " TxProcMhQosFieldsValid[Yes/No] - Select QoS Processing\n" 1194 " TxProcMhDropPrecedence<color> - Drop Precendence, choose packet color (green/red/yellow)\n" 1195 " TxProcMhInternalPriority=<value> - Internal Priority\n" 1196 " TxProcMhInternalCongestion=<value> - Internal Congestion\n" 1197 #endif /* BCM_CPU_TX_PROC_SUPPORT */ 1198 "\n" 1199 " Header Format-specific options (see HeaderMode command):\n" 1200 " - HiGig:\n" 1201 " HGOpcode=<val> - HiGig header opcode\n" 1202 " HGSrcMod=<val> - Source Module ID\n" 1203 " HGSrcPort=<val> - Source Port (numeric value only)\n" 1204 " HGDestMod=<val> - Destination Module ID\n" 1205 " HGDestPort=<val> - Destination Port (numeric value only)\n" 1206 " PFM=<val> - Port Filtering Mode (0, 1, 2)\n" 1207 #ifdef BCM_HIGIG2_SUPPORT 1208 " - HiGig2 only:\n" 1209 " TrafficClass=<val> - Traffic Class (0-15)\n" 1210 " McastGroupID=<val> - Multicast Group ID\n" 1211 " LoadBalID=<value> - Load Balancing ID\n" 1212 " DropPrecedence=<c> - Drop Precendence (green/red/yellow)\n" 1213 #endif 1214 #if defined(BCM_TRIUMPH3_SUPPORT) 1215 " - SOBH options: TRIUMPH3 only\n" 1216 " RplType=<val> - OAM replacement type \n" 1217 " RplOffset=<val> - OAM replacement offset\n" 1218 " LmCtrIdx=<val> - LM counter Index\n" 1219 #endif /* BCM_TRIUMPH3_SUPPORT */ 1220 #if defined(BCM_TOMAHAWK3_SUPPORT) 1221 " RQE num=<val>\n" 1222 #endif 1223 #endif 1224 ; 1225 extern cmd_result_t cmd_esw_tx(int unit, args_t *a); 1226 1227 char cmd_esw_tx_count_usage[] = 1228 "Parameters: None\n\t" 1229 "Print current request count and set count values for an active\n\t" 1230 "TXSTART command.\n"; 1231 1232 extern cmd_result_t cmd_esw_tx_count(int unit, args_t *a); 1233 extern cmd_result_t cmd_esw_tx_start(int unit, args_t *a); 1234 1235 1236 char cmd_esw_tx_stop_usage[] = 1237 "Parameters: None\n\t" 1238 "Terminate a background TXSTART command that is currently running.\n\t" 1239 "This command only requests termination, the background thread\n\t" 1240 "looks for termination requests BETWEEN sending packets.\n"; 1241 extern cmd_result_t cmd_esw_tx_stop(int unit, args_t *a); 1242 1243 1244 char if_esw_vlan_usage[] = 1245 "Usages:\n\t" 1246 #ifdef COMPILER_STRING_CONST_LIMIT 1247 " vlan <option> [args...]\n" 1248 #else 1249 " vlan create <id> [PortBitMap=<pbmp> UntagBitMap=<pbmp>]\n\t" 1250 " - Create a VLAN\n\t" 1251 " vlan destroy <id> - Destroy a VLAN\n\t" 1252 " vlan clear - Destroy all VLANs\n\t" 1253 " vlan add <id> [PortBitMap=<pbmp> UntagBitMap=<pbmp>]\n\t" 1254 " - Add port(s) to a VLAN\n\t" 1255 " vlan remove <id> [PortBitMap=<pbmp>] - Remove ports from a VLAN\n\t" 1256 " vlan gport add <id> [PortID=<gport_id>\n\t" 1257 " - Add gport to a VLAN\n\t" 1258 " vlan gport delete <id> [PortID=<gport_id>\n\t" 1259 " - Delete gport from a VLAN\n\t" 1260 " vlan gport get <id> [PortID=<gport_id>\n\t" 1261 " - Check if gport belongs to a VLAN\n\t" 1262 " vlan gport clear <id>\n\t" 1263 " - Delete all ports from a VLAN\n\t" 1264 " vlan gport show <id>\n\t" 1265 " - Show all ports in a VLAN\n\t" 1266 " vlan MulticastFlood <id> [Mode] - Multicast flood setting\n\t" 1267 " vlan show - Display all VLANs\n\t" 1268 " vlan default [<id>] - Show or set the default VLAN\n\t" 1269 " vlan protocol add PortBitMap=<pbmp> Frame=<N> Ether=<N>\n\t" 1270 " VLan=<vlanid> Prio=<prio>\n\t" 1271 " vlan protocol delete PortBitMap=<pbmp> Frame=<N> Ether=<N>\n\t" 1272 " vlan protocol clear PortBitMap=<pbmp>\n\t" 1273 #if defined(BCM_KATANA_SUPPORT) || defined(BCM_TRIUMPH3_SUPPORT) 1274 " vlan policer set <id> POLICER=<policer>\n\t" 1275 " vlan policer get <id>\n\t" 1276 #endif 1277 " vlan mac add MACaddress=<address> VLan=<vlanid> Prio=<prio>\n\t" 1278 " Cng=<cng>\n\t" 1279 " vlan mac delete MACaddress=<address>\n\t" 1280 " vlan mac clear\n\t" 1281 " vlan translate [On|Off]\n\t" 1282 " vlan translate add Port=<port> OldVLan=<vlanid> NewVLan=<vlanid>\n\t" 1283 " Prio=<prio> Cng=<cng>\n\t" 1284 " vlan translate get Port=<port> OldVLan=<vlanid> \n\t" 1285 " vlan translate show - Shows all vlan translations \n\t" 1286 " vlan translate delete Port=<port> OldVLan=<vlanid>\n\t" 1287 " vlan translate clear\n\t" 1288 " vlan translate egress add Port=<port> OldVLan=<vlanid> NewVLan=<vlanid>\n\t" 1289 " Prio=<prio> Cng=<cng>\n\t" 1290 " vlan translate egress get Port=<port> OldVLan=<vlanid> \n\t" 1291 " vlan translate egress show - Shows all vlan egress translations \n\t" 1292 " vlan translate egress delete Port=<port> OldVLan=<vlanid>\n\t" 1293 " vlan translate egress clear\n\t" 1294 " vlan translate dtag add Port=<port> OldVLan=<vlanid> NewVLan=<vlanid>\n\t" 1295 " Prio=<prio> Cng=<cng>\n\t" 1296 " vlan translate dtag get Port=<port> OldVLan=<vlanid> \n\t" 1297 " vlan translate dtag show - Shows all double tagged vlans \n\t" 1298 " vlan translate range add Port=<port> OldVLanHi=<vlanid> \n\t" 1299 " OldVlanLo=<vlanid> NewVLan=<vlanid> Prio=<prio> Cng=<cng>\n\t" 1300 " vlan translate range get Port=<port> OldVLanHi=<vlanid>\n\t" 1301 " OldVlanLo=<vlanid>\n\t" 1302 " vlan translate range delete Port=<port> OldVLanHi=<vlanid>\n\t" 1303 " OldVlanLo=<vlanid>\n\t" 1304 " vlan translate range clear\n\t" 1305 " vlan translate range show\n\t" 1306 " vlan ip4 add IPaddr=<ip-address> NetMask=<ip-addr> VLan=<vlanid>\n\t" 1307 " Prio=<prio> Cng=<cng>\n\t" 1308 " vlan ip4 delete IPaddr=<ip-address> NetMask=<ip-addr>\n\t" 1309 " vlan ip4 clear\n\t" 1310 " vlan ip6 add IPaddr=<ip-address> prefiX=<prefix> VLan=<vlanid>\n\t" 1311 " Prio=<prio>\n\t" 1312 " vlan ip6 delete IPaddr=<ip-address> prefiX=<prefix>\n\t" 1313 " vlan ip6 clear\n\t" 1314 " vlan control [<name> [<value>]]\n\t" 1315 " vlan port [<port>|all [<name> [<value>]]]\n\t" 1316 " vlan innertag <port> Priority=<priority> CFI=<cfi> VLan=<vlanid>\n\t" 1317 " vlan <id> [<name>=<value>] - Set/Get per VLAN property\n\t" 1318 " vlan action port default add Port=<port> OuterVlan=<vlanid>\n\t" 1319 " InnerVlan=<vlanid> Prio=<prio> DtOuter=<action>\n\t" 1320 " DtOuterPrio=<action> DtInner=<action> DtInnerPrio=<action>\n\t" 1321 " OtOuter=<action> OtOuterPrio=<action> OtInner=<action>\n\t" 1322 " OtOuter=<action> ItOuter=<action> ItInner=<action>\n\t" 1323 " ItInnerPrio=<action> UtOuter=<action> UtInner=<action>\n\t" 1324 " - Add port default VLAN tag with actions.\n\t" 1325 " Valid actions are { Add, Delete, Replace, None }\n\t" 1326 " vlan action port default get Port=<port>\n\t" 1327 " - Get port default VLAN tag actions\n\t" 1328 " vlan action port egress default add Port=<port> OuterVlan=<vlanid>\n\t" 1329 " InnerVlan=<vlanid> Prio=<prio> DtOuter=<action>\n\t" 1330 " DtOuterPrio=<action> DtInner=<action> DtInnerPrio=<action>\n\t" 1331 " OtOuter=<action> OtOuterPrio=<action> OtInner=<action>\n\t" 1332 " OtOuter=<action> ItOuter=<action> ItInner=<action>\n\t" 1333 " ItInnerPrio=<action> UtOuter=<action> UtInner=<action>\n\t" 1334 " - Add port egress VLAN tag with actions.\n\t" 1335 " Valid actions are { Add, Delete, Replace, None }\n\t" 1336 " vlan action port egress default get Port=<port>\n\t" 1337 " - Get port egress VLAN tag actions\n\t" 1338 " vlan action mac add MACaddress=<address> OuterVlan=<vlanid>\n\t" 1339 " InnerVlan=<vlanid> Prio=<prio> DtOuter=<action>\n\t" 1340 " DtOuterPrio=<action> DtInner=<action> DtInnerPrio=<action>\n\t" 1341 " OtOuter=<action> OtOuterPrio=<action> OtInner=<action>\n\t" 1342 " OtOuter=<action> ItOuter=<action> ItInner=<action>\n\t" 1343 " ItInnerPrio=<action> UtOuter=<action> UtInner=<action>\n\t" 1344 " - Add MAC-based VLAN tag with actions\n\t" 1345 " Valid actions are { Add, Delete, Replace, None }\n\t" 1346 " vlan action mac get MACaddress=<address>\n\t" 1347 " - Get MAC-based VLAN tag actions\n\t" 1348 " vlan action mac delete MACaddress=<address>\n\t" 1349 " - Delete MAC-based VLAN tag actions\n\t" 1350 " vlan action mac clear\n\t" 1351 " - Delete all MAC-based VLAN tag actions\n\t" 1352 " vlan action protocol add PortBitMap=<pbmp> Frame=<N> Ether=<N>\n\t" 1353 " OuterVlan=<vlanid> InnerVlan=<vlanid> Prio=<prio> \n\t" 1354 " DtOuter=<action> DtOuterPrio=<action> DtInner=<action> \n\t" 1355 " DtInnerPrio=<action> OtOuter=<action> OtOuterPrio=<action>\n\t" 1356 " OtInner=<action> OtOuter=<action> ItOuter=<action>\n\t" 1357 " ItInner=<action> ItInnerPrio=<action> UtOuter=<action> \n\t" 1358 " UtInner=<action>\n\t" 1359 " - Add protocol-based VLAN tag with actions.\n\t" 1360 " Valid actions are { Add, Delete, Replace, None }\n\t" 1361 " vlan action ip4 add IPaddr=<ip-address> NetMask=<ip-addr>\n\t" 1362 " OuterVlan=<vlanid> InnerVlan=<vlanid> Prio=<prio> \n\t" 1363 " DtOuter=<action> DtOuterPrio=<action> DtInner=<action> \n\t" 1364 " DtInnerPrio=<action> OtOuter=<action> OtOuterPrio=<action>\n\t" 1365 " OtInner=<action> OtOuter=<action> ItOuter=<action>\n\t" 1366 " ItInner=<action> ItInnerPrio=<action> UtOuter=<action> \n\t" 1367 " UtInner=<action>\n\t" 1368 " - Add IP4-based VLAN tag with actions.\n\t" 1369 " Valid actions are { Add, Delete, Replace, None }\n\t" 1370 " vlan action ip6 add IPaddr=<ip-address> prefiX=<prefix>\n\t" 1371 " OuterVlan=<vlanid> InnerVlan=<vlanid> Prio=<prio> \n\t" 1372 " DtOuter=<action> DtOuterPrio=<action> DtInner=<action> \n\t" 1373 " DtInnerPrio=<action> OtOuter=<action> OtOuterPrio=<action>\n\t" 1374 " OtInner=<action> OtOuter=<action> ItOuter=<action>\n\t" 1375 " ItInner=<action> ItInnerPrio=<action> UtOuter=<action> \n\t" 1376 " UtInner=<action>\n\t" 1377 " - Add IP6-based VLAN tag with actions.\n\t" 1378 " Valid actions are { Add, Delete, Replace, None }\n\t" 1379 " vlan action translate add Port=<port> KeyType=<key> \n\t" 1380 " OldOuterVlan=<vlanid> OldInnerVlan=<vlanid> DtOuter=<action>\n\t" 1381 " OuterVlan=<vlanid> InnerVlan=<vlanid> Prio=<prio> \n\t" 1382 " DtOuter=<action> DtOuterPrio=<action> DtInner=<action>\n\t" 1383 " DtInnerPrio=<action> OtOuter=<action> OtOuterPrio=<action>\n\t" 1384 " OtInner=<action> OtOuter=<action> ItOuter=<action>\n\t" 1385 " ItInner=<action> ItInnerPrio=<action> UtOuter=<action>\n\t" 1386 " UtInner=<action> Policer=<policer>\n\t" 1387 " - Add VLAN tag translation with actions.\n\t" 1388 " Valid actions are { Add, Delete, Replace, None }\n\t" 1389 " Valid key types are { Double, Outer, Inner, OuterTag, \n\t" 1390 " InnerTag, PortDouble, PortOuter, Policer }\n\t" 1391 " vlan action translate delete Port=<port> KeyType=<key> \n\t" 1392 " OldOuterVlan=<vlanid> OldInnerVlan=<vlanid>\n\t" 1393 " - Delete VLAN tag translation actions.\n\t" 1394 " vlan action translate get Port=<port> KeyType=<key> \n\t" 1395 " OldOuterVlan=<vlanid> OldInnerVlan=<vlanid>\n\t" 1396 " - Get VLAN tag translation actions.\n\t" 1397 " vlan action translate show\n\t" 1398 " - Show all VLAN tag translation actions.\n\t" 1399 " vlan action translate range add Port=<port> \n\t" 1400 " OuterVlanLo=<vlanid> OuterVlanHi=<vlanid> \n\t" 1401 " InnerVlanLo=<vlanid> InnerVlanHi=<vlanid>\n\t" 1402 " OuterVlan=<vlanid> InnerVlan=<vlanid> Prio=<prio> \n\t" 1403 " DtOuter=<action> DtOuterPrio=<action> DtInner=<action>\n\t" 1404 " DtInnerPrio=<action> OtOuter=<action> OtOuterPrio=<action>\n\t" 1405 " OtInner=<action> OtOuter=<action> ItOuter=<action>\n\t" 1406 " ItInner=<action> ItInnerPrio=<action> UtOuter=<action>\n\t" 1407 " UtInner=<action>\n\t" 1408 " - Add VLAN tag range translation with actions.\n\t" 1409 " Valid actions are { Add, Delete, Replace, None }\n\t" 1410 " vlan action translate range delete Port=<port> \n\t" 1411 " OuterVlanLo=<vlanid> OuterVlanHi=<vlanid> \n\t" 1412 " InnerVlanLo=<vlanid> InnerVlanHi=<vlanid>\n\t" 1413 " - Delete VLAN tag translation range actions.\n\t" 1414 " vlan action translate range get Port=<port> \n\t" 1415 " OuterVlanLo=<vlanid> OuterVlanHi=<vlanid> \n\t" 1416 " InnerVlanLo=<vlanid> InnerVlanHi=<vlanid>\n\t" 1417 " - Get VLAN tag translation range actions.\n\t" 1418 " vlan action translate range clear\n\t" 1419 " - Delete all VLAN tag translation range actions.\n\t" 1420 " vlan action translate range show\n\t" 1421 " - Show all VLAN tag translation range actions.\n\t" 1422 " vlan action translate egress add PortClass=<class> \n\t" 1423 " OldOuterVlan=<vlanid> OldInnerVlan=<vlanid> DtOuter=<action>\n\t" 1424 " OuterVlan=<vlanid> InnerVlan=<vlanid> Prio=<prio> \n\t" 1425 " DtOuter=<action> DtOuterPrio=<action> DtInner=<action>\n\t" 1426 " DtInnerPrio=<action> OtOuter=<action> OtOuterPrio=<action>\n\t" 1427 " OtInner=<action> OtOuter=<action> ItOuter=<action>\n\t" 1428 " ItInner=<action> ItInnerPrio=<action> UtOuter=<action>\n\t" 1429 " UtInner=<action>\n\t" 1430 " - Add VLAN tag egress translation with actions.\n\t" 1431 " Valid actions are { Add, Delete, Replace, None }\n\t" 1432 " vlan action translate egress delete PortClass=<class> \n\t" 1433 " OldOuterVlan=<vlanid> OldInnerVlan=<vlanid>\n\t" 1434 " - Delete VLAN tag egress translation actions.\n\t" 1435 " vlan action translate egress get PortClass=<class> \n\t" 1436 " OldOuterVlan=<vlanid> OldInnerVlan=<vlanid>\n\t" 1437 " - Get VLAN tag egress translation actions.\n\t" 1438 " vlan action translate egress show\n" 1439 #endif 1440 ; 1441 extern cmd_result_t if_esw_vlan(int unit, args_t *a); 1442 1443 1444 char cmd_esw_mem_write_usage[] = 1445 "Parameters: <TABLE>[.<COPY>] <ENTRY> <ENTRYCOUNT>\n\t" 1446 " { <DW0> .. <DWN> | <FIELD>=<VALUE>[,...] }\n\t" 1447 "If nocheck_mem_mode is specified, checking of unique_global mode, slice_mode will be skipped\n\t" 1448 "Number of <DW> must be a multiple of table entry size.\n\t" 1449 "Writes entry(s) into table index(es).\n"; 1450 extern cmd_result_t cmd_esw_mem_write(int unit, args_t *a); 1451 1452 char cmd_esw_eav_usage[] = 1453 #ifdef COMPILER_STRING_CONST_LIMIT 1454 "Parameters: <cmd> <opt>\n" 1455 #else /* !COMPILER_STRING_CONST_LIMIT */ 1456 " Where <cmd> is:\n" 1457 "\tcontrol set|get <ctrl_type> <parameter>\n" 1458 "\tmac get|set <mac value>\n" 1459 "\ttypes. (Describe the types of Ethernet AV CLI commands)\n" 1460 "\tinit\n" 1461 "\tport enable|disable <port number>\n" 1462 "\twatch start|stop\n" 1463 "\tstatus\n" 1464 "\ttimestamp <port number>\n" 1465 "\ttx <pbmp> <vlanid>\n" 1466 "\tsrp set|get <mac value> <ethertype>\n" 1467 "\tbandwidth set|get <port number> <class> <bandwidth> <burstsize>\n" 1468 "\tpcp set|get <class> <pcp> <remapped_pcp>\n" 1469 #endif /* !COMPILER_STRING_CONST_LIMIT */ 1470 ; 1471 extern cmd_result_t cmd_esw_eav(int unit, args_t *a); 1472 1473 #ifdef INCLUDE_CES 1474 char cmd_esw_ces_usage[] = 1475 "\n" 1476 "\tces <option> [args....] - Manage and debug the CES subsystem\n" 1477 "\t Options are:\n" 1478 "\t init - Initialize CES services\n" 1479 "\t diag - Configure loopbacks and view basic diagnostic information\n" 1480 "\t cclk - Manage common clcok configuration\n" 1481 "\t service - Manage CES services\n" 1482 "\t tdm - Manage TDM ports used for CES\n" 1483 "\t liu - Configure and debug LIU settings\n" 1484 "\t rpc - Configure and display RPC PM counters\n" 1485 "\t test - Run framer PRBS tests\n" 1486 "\t help - Display usage information for a specific option\n" 1487 "\n\t To display usage information for a specific option use:\n" 1488 "\t ces help <option>\n\n" 1489 ; 1490 extern cmd_result_t cmd_esw_ces(int unit, args_t *a); 1491 #endif 1492 1493 #ifdef BCM_TOMAHAWK_SUPPORT 1494 #ifdef COMPILER_STRING_CONST_LIMIT 1495 char if_esw_asf_usage[] = 1496 "Usage: asf <option> [args...]\n"; 1497 #else 1498 char if_esw_asf_usage[] = 1499 "ASF Configurations Summary & Diagnostics.\n" 1500 "Parameters: [show | diag] <pbmp>\n" 1501 "Example: asf show [ce0 | hg1 | ce,hg]\n" 1502 "Example: asf diag [ce0 | hg1 | ce,hg]\n" 1503 "<pbmp> is a standard port bitmap (see \"help pbmp\").\n" 1504 "To configure ASF on port(s), use 'port <pbmp> asf <mode>' command\n"; 1505 #endif 1506 1507 #ifdef COMPILER_STRING_CONST_LIMIT 1508 char if_esw_latency_usage[] = 1509 "Usage: latency <option> \n"; 1510 #else 1511 char if_esw_latency_usage[] = 1512 "Switch Latency Bypass Configurations Summary & Diagnostics.\n" 1513 "Parameters: [show | diag]\n" 1514 "Example: latency show\n" 1515 "Example: latency diag\n" 1516 "Switch latency bypass mode is configurable only during initialization\n" 1517 "To configure switch latency bypass mode, use switch_bypass_mode = [0 | 1 | 2 ] in config file\n"; 1518 #endif 1519 #endif /* BCM_TOMAHAWK_SUPPORT */ 1520 1521 #ifdef BCM_XGS5_SWITCH_PORT_SUPPORT 1522 #ifdef COMPILER_STRING_CONST_LIMIT 1523 char cmd_if_flexport_usage[] = 1524 "Usage: FLEXport PM<id>[=<pm_mode>[:<port_numbers>]]\n"; 1525 #else 1526 char cmd_if_flexport_usage[] = 1527 "FLEXport PM<id>[=<pm_mode>[:<port_numbers>]]\n" 1528 "Parameters:\n" 1529 " PM<id> - Port Macro to be flexed.\n" 1530 " <pm_mode> - Port Macro mode:\n" 1531 " Single Mode:\n" 1532 " 1x100G | 1x40G | 1xHG[106] | 1xHG[42] |\n" 1533 " 1xHG[100]| 1xHG[40]\n" 1534 " Dual Mode:\n" 1535 " 2x50G | 2x40G | 2x25G | 2x20G |\n" 1536 " 1x40G+1x20G | 1x20G+1x40G |\n" 1537 " 1x25G+1x50G | 1x50G+1x25G |\n" 1538 " 2xHG[53] | 2xHG[42] | 2xHG[27] | 2xHG[21] |\n" 1539 " 1xHG[42]+1xHG[21] | 1xHG[21]+1xHG[42] |\n" 1540 " 1xHG[27]+1xHG[53] | 1xHG[53]+1xHG[27] |\n" 1541 " 2xHG[50] | 2xHG[40] | 2xHG[20] | 2xHG[25] |\n" 1542 " 1xHG[25]+1xHG[50] | 1xHG[50]+1xHG[25] |\n" 1543 " 1xHG[40]+1xHG[20] | 1xHG[20]+1xHG[40]\n" 1544 " Tri Mode:\n" 1545 " 1x50G+2x25G | 2x25G+1x50G |\n" 1546 " 2x10G+1x40G | 1x40G+2x10G |\n" 1547 " 2x10G+1x20G | 1x20G+2x10G |\n" 1548 " 1xHG[53]+2xHG[27] | 2xHG[27]+1xHG[53] |\n" 1549 " 2xHG[11]+1xHG[42] | 1xHG[42]+2xHG[11] |\n" 1550 " 2xHG[11]+1xHG[21] | 1xHG[21]+2xHG[11] |\n" 1551 " 1xHG[50]+2xHG[25] | 2xHG[25]+1xHG[50] |\n" 1552 " 2xHG[10]+1xHG[40] | 1xHG[40]+2xHG[10] |\n" 1553 " 2xHG[10]+1xHG[20] | 1xHG[20]+2xHG[10]\n" 1554 " Quad Mode\n" 1555 " 4x25G | 4x10G | 4xHG[27] | 4xHG[11] |\n" 1556 " 4xHG[25] | 4xHG[10] | 4x2.5G | 4x1G\n" 1557 " Clear ports on a Port Macro:\n" 1558 " None\n" 1559 " Note: All the other modes not listed above are not\n" 1560 " supported on BCM Shell, even they may be\n" 1561 " supported via API configuration.\n" 1562 " [<port_numbers>] - New port numbers on a specific Port Macro.\n" 1563 " If no port_number configured, new port numbers will\n" 1564 " be picked from un-used ports.\n" 1565 "Example: flexport pm0=1x40G:1 pm1=4x25G:2-5\n" 1566 "Example: flexport pm0=none pm2=2x50g\n" 1567 "Flex Port Macro(s) into a specific mode.\n" 1568 "Remove all ports in a Port Macro if the <pm_mode> is configured as None.\n" 1569 "If only PM<id> is specified, characteristics for that Port Macro is displayed.\n"; 1570 #endif 1571 #endif /* BCM_XGS5_SWITCH_PORT_SUPPORT */ 1572 #ifdef BCM_XGS5_SWITCH_PORT_SUPPORT 1573 #ifdef COMPILER_STRING_CONST_LIMIT 1574 char cmd_if_flexport_usage_td3[] = 1575 "Usage: FLEXport PM<id>[=<pm_mode>]\n"; 1576 #else 1577 char cmd_if_flexport_usage_td3[] = 1578 "FLEXport PM<id>[=<pm_mode>]\n" 1579 "Parameters:\n" 1580 " PM<id> - Port Macro to be flexed.\n" 1581 " <pm_mode> - Port Macro mode:\n" 1582 " Single Mode:\n" 1583 " 1x100G | 1x40G | 1xHG[106] | 1xHG[42] |\n" 1584 " 1xHG[100]| 1xHG[40]\n" 1585 " Dual Mode:\n" 1586 " 2x50G | 2x40G | 2x20G |\n" 1587 " 1x40G+1x20G | 1x20G+1x40G |\n" 1588 " 2xHG[53] | 2xHG[42] | 2xHG[21] |\n" 1589 " 1xHG[42]+1xHG[21] | 1xHG[21]+1xHG[42] |\n" 1590 " 2xHG[50] | 2xHG[40] | 2xHG[20] |\n" 1591 " 1xHG[40]+1xHG[20] | 1xHG[20]+1xHG[40]\n" 1592 " Tri Mode:\n" 1593 " 1x50G+2x25G | 2x25G+1x50G |\n" 1594 " 2x10G+1x40G | 1x40G+2x10G |\n" 1595 " 2x10G+1x20G | 1x20G+2x10G |\n" 1596 " 1xHG[53]+2xHG[27] | 2xHG[27]+1xHG[53] |\n" 1597 " 2xHG[11]+1xHG[42] | 1xHG[42]+2xHG[11] |\n" 1598 " 2xHG[11]+1xHG[21] | 1xHG[21]+2xHG[11] |\n" 1599 " 1xHG[50]+2xHG[25] | 2xHG[25]+1xHG[50] |\n" 1600 " 2xHG[10]+1xHG[40] | 1xHG[40]+2xHG[10] |\n" 1601 " 2xHG[10]+1xHG[20] | 1xHG[20]+2xHG[10]\n" 1602 " Quad Mode\n" 1603 " 4x25G | 4x10G | 4xHG[27] | 4xHG[11] |\n" 1604 " 4xHG[25] | 4xHG[10] | 4x2.5G | 4x1G\n" 1605 " Clear ports on a Port Macro:\n" 1606 " None\n" 1607 " Note: All the other modes not listed above are not\n" 1608 " supported on BCM Shell, even they may be\n" 1609 " supported via API configuration.\n" 1610 "Example: flexport pm0=1x40G pm1=4x25G\n" 1611 "Example: flexport pm0=none pm2=2x50g\n" 1612 "Flex Port Macro(s) into a specific mode.\n" 1613 "Remove all ports in a Port Macro if the <pm_mode> is configured as None.\n" 1614 "If only PM<id> is specified, characteristics for that Port Macro is displayed.\n"; 1615 #endif 1616 #endif /* BCM_XGS5_SWITCH_PORT_SUPPORT */ 1617 #ifdef BCM_XGS5_SWITCH_PORT_SUPPORT 1618 #ifdef COMPILER_STRING_CONST_LIMIT 1619 char cmd_if_flexport_usage_th3[] = 1620 "Usage: FLEXport PM<id>[=<pm_mode>]\n"; 1621 #else 1622 char cmd_if_flexport_usage_th3[] = 1623 "FLEXport PM<id>[=<pm_mode>]\n" 1624 "Parameters:\n" 1625 " PM<id> - Port Macro to be flexed.\n" 1626 " <pm_mode> - Port Macro mode:\n" 1627 " Single Mode:\n" 1628 " 1x400G | 2x200G | 2x100G | 2x40G\n" 1629 " Dual Mode:\n" 1630 " 4x100G | 4x50G | 4x40G\n" 1631 " Quad Mode\n" 1632 " 8x50G | 8x25G | 8x10G\n" 1633 " Clear ports on a Port Macro:\n" 1634 " None\n" 1635 " [<port_numbers>] - New port numbers on a specific Port Macro.\n" 1636 " If no port_number configured, new port numbers will\n" 1637 " be picked from un-used ports.\n" 1638 "Note: All the other modes not listed above are not\n" 1639 " supported on BCM Shell, even they may be\n" 1640 " supported via API configuration.\n" 1641 " \n" 1642 "Example: flexport pm0=2x200G pm1=4x100G\n" 1643 "Example: flexport pm0=none pm2=8x50g\n" 1644 "Example: flexport pm0=4x100G:5-8\n" 1645 "Example: flexport pm0=2x40G:1,5\n" 1646 "Flex Port Macro(s) into a specific mode.\n" 1647 "Remove all ports in a Port Macro if the <pm_mode> is configured as None.\n" 1648 "If only PM<id> is specified, characteristics for that Port Macro is displayed.\n"; 1649 #endif 1650 #endif /* BCM_XGS5_SWITCH_PORT_SUPPORT */