Commit Graph

6634 Commits

Author SHA1 Message Date
Saikrishna Arcot
5c7c789b4a
Fix error handling when failing to install a deb package (#11846) (#12857)
Signed-off-by: Saikrishna Arcot sarcot@microsoft.com

Why I did it
The current error handling code for when a deb package fails to be
installed currently has a chain of commands linked together by && and
ends with exit 1. The assumption is that the commands would succeed,
and the last exit 1 would end it with a non-zero return code, thus
fully failing the target and causing the build to stop because of bash's
-e flag.

However, if one of the commands prior to exit 1 returns a non-zero
return code, then bash won't actually treat it as a terminating error.
From bash's man page:

-e      Exit immediately if a pipeline (which may consist of a single simple
	command), a list, or a compound command (see SHELL GRAMMAR above),
        exits with a non-zero status.  The shell does not exit if the
        command that fails is part of the  command  list  immediately
        following a while or until keyword, part of the test following the
        if or elif reserved words, part of any command executed in a && or
        || list except the command following the final && or ||, any
        command in a pipeline but the last, or if the command's return
        value is being inverted with !.  If a compound command other than a
        subshell returns a non-zero status because a command failed while
        -e was being ignored, the shell does not exit.

The part part of any command executed in a && or || list except the command following the final && or || says that if the failing command
is not the exit 1 that we have at the end, then bash doesn't treat it
as an error and exit immediately. Additionally, since this is a compound
command, but isn't in a subshell (subshell are marked by ( and ),
whereas { and } just tells bash to run the commands in the current
environment), bash doesn't exist. The result of this is that in the
deb-install target, if a package installation fails, it may be
infinitely stuck in that while-loop.

This was seen when the snmpd package upgrade happened, and
builds were failing to install the mismatching libsnmp-dev package,
the builds did not immediately terminate; instead, the installation
was retried again and again, suggesting it was stuck in some infinite
loop. The build jobs finally terminated only because of the timeout
specified for the jobs.

How I did it
There are two fixes for this: change to using a subshell, or use ;
instead of &&. Using a subshell would, I think, require exporting any
shell variables used in the subshell, so I chose to change the && to
;. In addition, at the start of the subshell, set +e is added in,
which removes the exit-on-error handling of bash. This makes sure that
all commands are run (the output of which may help for debugging) and
that it still exits with 1, which will then fully fail the target.

How to verify it
2022-11-29 16:48:23 -08:00
judyjoseph
72425c0ff5
Cherry-pick https://github.com/sonic-net/sonic-host-services/pull/19 into 202205 (#12869) 2022-11-29 16:08:23 -08:00
Ying Xie
b8244b71dc
[202205][linux-kernel] advance submodule head (#12862)
Linux-kernel:
* f7dd7cd 2022-09-28 | [patch]: Introduce sysctl param `arp_evict_no_carrier` (#293) [Longxiang Lyu]
* 587edac 2022-10-19 | Fixes for emmc unreliability (#295) [Samuel Angebault]

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2022-11-29 14:35:58 -08:00
abdosi
81fe1d9c1a
Added Support to runtime render bgp and teamd feature state and lldp has_asic_scope flag (#11796) (#12856)
Added Support to runtime render bgp and teamd feature state and lldp has_asic_scope flag
2022-11-29 13:47:37 -08:00
jcaiMR
80837d4cb8 better solution for STATIC_ROUTE_EXPIRY_TIME check (#12824) 2022-11-28 18:52:11 +00:00
bingwang-ms
4c44e4eb98 Add missing flags in qos template file (#12793) 2022-11-28 18:52:01 +00:00
Samuel Angebault
c9e467be7d [Arista] Update platform.json for 7060CX-32S (#12783)
Why I did it
Some sonic-mgmt platform_tests/api were failing on the 7060CX-32S

How I did it
Added the missing metadata in platform.json and platform_components.json
This is purely test data and does not impact our API implementation.

How to verify it
Run platform_tests / api and expect 100% pass rate.
2022-11-28 18:51:52 +00:00
jcaiMR
ef25f7d785 add fix for key not exists case (#12769) 2022-11-28 18:51:39 +00:00
Samuel Angebault
d32a3af99c [Arista] Update platform.json for 7260CX3-64 (#12757)
Why I did it
Some sonic-mgmt platform_tests/api were failing on the 7260CX3-64

How I did it
Added the missing metadata in platform.json and platform_components.json
This is purely test data and does not impact our API implementation.

How to verify it
Run platform_tests/api and expect 100% passrate.
2022-11-28 18:51:13 +00:00
bingwang-ms
4f7a0b4705 Apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP to uplink ports on dualtor (#12730)
Why I did it
The PR is to apply separated DSCP_TO_TC_MAP and TC_TO_QUEUE_MAP to uplink ports on dualtor.
The traffic with DSCP 2 and DSCP 6 from T1 is treated as lossless traffic.

DSCP    TC    Queue
2      2     2
6      6     6
Traffic with DSCP 2 or DSCP 6 from downlink is still treated as lossy traffic as before.

How I did it
Define DSCP_TO_TC_MAP|AZURE_UPLINK and TC_TO_QUEUE_MAP|AZURE_UPLINK.

How to verify it
Verified by UT
Verified by coping the new template to a testbed, and rendering a config_db.json
2022-11-28 18:51:04 +00:00
wenyiz2021
547d3df694 [Arista] [platform] Add thermal info in platform.json (#12714)
add 1 more thermal entry
2022-11-28 18:50:55 +00:00
jcaiMR
d8ed8fd4aa Add support for static route expiry (#12712)
* add support for static route expiry

* fix debug info

* fix a format issue
2022-11-28 18:50:45 +00:00
abdosi
187e13e2f7 Add lacp_key as auto in portchannel configuration when parsing minigraph (#12694)
Add lacp_key as auto in portchannel configuration when parsing minigraph
Needed as mention in issue: https://github.com/sonic-net/sonic-buildimage/issues/4009
2022-11-28 18:50:37 +00:00
wenyiz2021
e663d7ea72 [arista] [chassis] Add psu/thermal info in platform.json for sup (#12667)
update psu info in platform.json on sup
2022-11-28 18:50:12 +00:00
cytsao1
259e3b382a Make determine-reboot-cause.service into a oneshot service (#12628) 2022-11-28 18:50:03 +00:00
Neetha John
92ae2bda5d [Profile separation] MMU infrastructure update for TD2 (#12626)
Signed-off-by: Neetha John <nejo@microsoft.com>

Why I did it
There is a need to have separate profiles on compute and storage and this infra update will help achieve that

How I did it
Moved buffer pool/profile and qos definitions on TD2 to a common folder and all TD2 hwsku's will reference that folder
2022-11-28 18:49:47 +00:00
Rajkumar-Marvell
6f7b5293ad [Marvell] Move armhf syncd docker to bullseye. (#12585)
Why I did it
Move armhf syncd docker compilation to bullseye.

How I did it
compile syncd docker for armhf platform using below commands,
NOJESSIE=1 NOSTRETCH=1 NOBUSTER=1 BLDENV=bullseye make configure PLATFORM=marvell-armhf PLATFORM_ARCH=armhf
NOJESSIE=1 NOSTRETCH=1 NOBUSTER=1 BLDENV=bullseye make target/docker-syncd-mrvl.gz

How to verify it
upgrade the syncd docker and verify ports are up.

Signed-off-by: rajkumar38 <rpennadamram@marvell.com>
2022-11-28 18:49:28 +00:00
Bohan Yang
18bdd154a6 [Arista]Add media_settings.json for x86_64-arista_7800r3a_36d2_lc (#12444)
Why I did it
TX FIR tuning should be done based on the type of inserted transceiver

How I did it
Add media_settings.json which contains the tuning data for 100G optic and 400G optic.

How to verify it
Tested against x86_64-arista_7800r3a_36d2_lc
2022-11-28 18:49:17 +00:00
Vivek
db09bef671 [Mellanox] [SKU] Added Mellanox-SN4700-A96C8V8 SKU (#12347)
- Why I did it
A new SKU for MSN4700 Platform i.e. Mellanox-SN4700-V16A96

Requirements:

Breakout:
Port 1-24: 4x25G(4)[10G,1G]
Port 25-28: 2x100G[200G,50G,40G,25G,10G,1G]
Port 29-32: 2x200G[100G,50G,40G,25G,10G,1G]
Downlinks: 96 (1-24) + 4 (25-28)
Uplinks: 4 (29-32)
Shared Headroom: Enabled
Over Subscribe Ratio: 1:4
Default Topology: T0
Default Cable Length for T1: 5m
VxLAN source port range set: No
Static Policy Based Hashing Supported: No

Additional Details:
QoS params: The default ones defined in qos_config.j2 will be applied
Small Packet Percentage: Used 50% for traditional buffer model Note: For dynamic model, the value defined in LOSSLESS_TRAFFIC_PATTERN|AZURE|small_packet_percentage is used
SKU was drafted under the assumption that the downlink ports uses xcvr's that will only support the first 4 lanes of the physical port they are connected to. Hence for the ports 1-24, the last four lanes are not used
Cable Lengths used for generating buffer_defaults_{t0,t1}.j2 values

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2022-11-28 18:49:05 +00:00
Vivek
18a1252268 [Mellanox] [SKU] Mellanox-SN4700-V48C32 SKU added (#12250)
A new SKU for MSN4700 Platform i.e. Mellanox-SN4700-V48C32

Requirements:
Breakout:
Port 1-24: 2x200G
Port 25-32: 4x100G
Downlinks: 48 (1-24)
Uplinks: 32 (25-32)
Shared Headroom: Enabled
Over Subscribe Ratio: 1:8
Default Topology: T1
Default Cable Length for T1: 300m
VxLAN source port range set: No
Static Policy Based Hashing Supported: No
Additional Details:
QoS params: The default ones defined in qos_config.j2 will be applied
Small Packet Percentage: Used 50% for traditional buffer model Note: For dynamic model, the value defined in LOSSLESS_TRAFFIC_PATTERN|AZURE|small_packet_percentage is used
Cable Lengths used for generating buffer_defaults_{t0,t1}.j2 values

Signed-off-by: Vivek Reddy Karri <vkarri@nvidia.com>
2022-11-28 18:48:51 +00:00
Lorne Long
5a4efe211c [Build] Use apt-get to predictably support dependency ordered configuration of lazy packages (#12164)
Why I did it
The current lazy installer relies on a filename sort for both unpack and configuration steps. When systemd services are configured [started] by multiple packages the order is by filename not by the declared package dependencies. This can cause the start order of services to differ between first-boot and subsequent boots. Declared systemd service dependencies further exacerbate the issue (e.g. blocking the first-boot script).

The current installer leaves packages un-configured if the package dependency order does not match the filename order.

This also fixes a trivial bug in [Build]: Support to use symbol links for lazy installation targets to reduce the image size #10923 where externally downloaded dependencies are duplicated across lazy package device directories.

How I did it
Changed the staging and first-boot scripts to use apt-get:

dpkg -i /host/image-$SONIC_VERSION/platform/$platform/*.deb

becomes

apt-get -y install /host/image-$SONIC_VERSION/platform/$platform/*.deb

when dependencies are detected during image staging.

How to verify it
Apt-get critical rules

Add a Depends= to the control information of a package. Grep the syslog for rc.local between images and observe the configuration order of packages change.
2022-11-28 18:48:36 +00:00
abdosi
88bb83e859 [chassis-packet] fix the issue of internal ip arp not getting resolved. (#12127)
Fix the issue where arp_update will not ping some of the ip's even
though they are in failed state since grep of that ip on ip neigh show
command does not do exact word match and can return multiple match.
2022-11-28 18:48:36 +00:00
Arnaud
a51264d24b [docker-fpm-frr]: Add unified-split mode to routing config (#11938)
- Why I did it
The values for config_db "docker_routing_config_mode" are:

separated: FRR config generated from ConfigDB, each FRR daemon has its own config file
unified: FRR config generated from ConfigDB, single FRR config file
split: FRR config not generated from ConfigDB, each FRR daemon has its own config file
This commit adds:
split-unified: FRR config not generated from ConfigDB, single FRR config file

- How I did it
In docker_init.sh, when split-unified is used, the FRR configs are not generated
from ConfigDB. What's more, "service integrated-vtysh-config" is configured in vtysh.conf.

- How to verify it
FRR config not overwritten when FRR container starts.

Signed-off-by: Arnaud le Taillanter <a.letaillanter@criteo.com>
2022-11-28 18:19:53 +00:00
Sujin Kang
61a0c3e5ec add dependancy of determine-reboot-cause sevice to process-reboot-cause service (#11213)
Why I did it
Database container takes long time ( more than 1.5 minutes ) on some vendor platforms.
This makes the determine-reboot-cause starts later than process-reboot-cause service.
And that results in the incorrect reboot-cause determination.

How I did it
Add the dependency of determine-reboot-cause service to process-reboot-cause service
2022-11-28 18:14:41 +00:00
arlakshm
b86b3b0d7d
[202205][chassis] update the asic_status.py to read from CHASSIS_FABRIC_ASIC_INFO_TABLE (#12780)
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>

Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com>
2022-11-26 20:27:30 -08:00
SuvarnaMeenakshi
37cff8be2b [multi-asic]: Add build param to build multi-asic KVM image. (#11453)
Why I did it
[multi-asic]: Add build param to build multi-asic KVM image.
Require sonic-4asic-vs.img.gz to run multi-asic tests.
BUILD_MULTIASIC_KVM=y has to be added to build parameter to generate multi-asic KVM image which can be eventually used in multi-asic VS testbed.
This is a pipeline that we currently have to generate multi-asic KVM image:
https://github.com/Azure/sonic-buildimage/blob/master/.azure-pipelines/official-build-multi-asic.yml

How I did it
Add BUILD_MULTIASIC_KVM=y to build parameter in pipeline script to generate multi-asic KVM image.

How to verify it
The build param is already used in official-build-multi-asic.yml pipeline.
2022-11-27 04:19:32 +00:00
zitingguo-ms
917db36435
[Cherry-pick] Add build target to build thrift 0.14.1 for python2 (#12828)
* add build target thrift 014 for python2 (#12790)

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

* readd target PYTHON_THRIFT_0_14_1

Signed-off-by: zitingguo-ms <zitingguo@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
Signed-off-by: zitingguo-ms <zitingguo@microsoft.com>
Co-authored-by: Richard.Yu <richard.yu@microsoft.com>
2022-11-26 14:39:04 +08:00
mssonicbld
66ba3285ac
[ci/build]: Upgrade SONiC package versions (#12830) 2022-11-25 21:59:36 +08:00
tjchadaga
7c1015b45e
Update BRCM SAI version to 7.1.24.4 (#12809) 2022-11-23 15:26:40 -08:00
Dror Prital
aeefeff4db
[Mellanox] add NVIDIA copyright header to new files added (#12710)
Why I did it
Add NVIDIA Copyright header for new "NVIDIA" files

How I did it
Add the copyright header as remark at the head of the file
2022-11-23 17:12:03 +02:00
mssonicbld
4424937611
[ci/build]: Upgrade SONiC package versions (#12812) 2022-11-23 21:35:21 +08:00
Richard.Yu
c41cbc8f4f
Revert "[SAI PTF][202205]Support sai ptf v2 Syncd-rpc (#12763)" (#12785)
This reverts commit 99c01b5762.
2022-11-21 20:48:24 -08:00
andywongarista
c086987fc4
Mark thermals as not controllable (#12393) 2022-11-21 14:38:22 -08:00
zitingguo-ms
5c3c4e73ad
Advance sairedis header (#12776)
Signed-off-by: zitingguo-ms <zitingguo@microsoft.com>

Signed-off-by: zitingguo-ms <zitingguo@microsoft.com>
2022-11-21 04:36:05 -08:00
Richard.Yu
99c01b5762
[SAI PTF][202205]Support sai ptf v2 Syncd-rpc (#12763)
cherry-pick #12761
Make syncd rpc docker which supports sai-ptf v2
Part of previous PR #11610

local bulild the target

NOSTRETCH=y NOJESSIE=y make configure PLATFORM=broadcom NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y make target/docker-syncd-brcm-rpcv2.gz NOSTRETCH=y NOJESSIE=y ENABLE_SYNCD_RPC=y SAITHRIFT_V2=y make target/docker-saiserverv2-brcm.gz

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
2022-11-20 20:49:58 -08:00
mssonicbld
2d2305091f
[ci/build]: Upgrade SONiC package versions (#12772) 2022-11-20 22:50:40 +08:00
Samuel Angebault
7775f15222
[202205][Arista] Update platform library submodules (#12737)
add partial reboot cause support for linecards
add watchdog support for linecards
add power draw information for chassis
properly implement Chassis.get_port_or_cage_type
fix pcieutil on chassis with powered off cards
fix watchdog-control.service crash
misc fixes and cleanups
2022-11-18 13:23:52 -08:00
mssonicbld
13b8078555
[ci/build]: Upgrade SONiC package versions (#12759) 2022-11-19 04:22:29 +08:00
mssonicbld
098b681cbc
[Build] Fix the docker-sync not found issue (#12593) (#12618)
Why I did it
[Build] Fix the docker-sync not found issue

How I did it
When SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD not enabled, not to remove the docker-sync tag.

Co-authored-by: xumia <59720581+xumia@users.noreply.github.com>
2022-11-18 09:34:09 +08:00
Richard.Yu
20fedefbde
[sai-ptf]Fix sai ptf issue (#12723)
* fix sai-ptf build issue caused by upgraded scapy in base ptf docker

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

* remove useless change

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

* reformat code

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>

Signed-off-by: richardyu-ms <richard.yu@microsoft.com>
2022-11-16 20:28:30 -08:00
mssonicbld
f4bace99f1
[ci/build]: Upgrade SONiC package versions (#12726) 2022-11-17 02:52:28 +08:00
mssonicbld
1be9baa1c0
[ci/build]: Upgrade SONiC package versions (#12691) 2022-11-13 22:33:45 +08:00
Yutong Zhang
91b6d2c938
[202205][TestbedV2] Add dualtor test jobs using TestbedV2. (#12673)
Add dualtor test jobs using TestbedV2 in 202205 branch.

Why I did it
Add dualtor test jobs using TestbedV2 in 202205 branch.

How I did it
Add dualtor test jobs using TestbedV2 in 202205 branch.

Signed-off-by: Yutong Zhang <yutongzhang@microsoft.com>
2022-11-12 11:03:36 +08:00
Ying Xie
993fc8323e
[202205][utilities][swss][platform-common] advance submodule head (#12669)
utilities:
* 8cb6124 2022-11-09 | [armhf][sonic-installer] Fix the issue of sonic-installer list after set-default and cleanup (#2479) [Marty Y. Lok]
* b2d50f4 2022-11-06 | [GCU] Fix JsonPointerFilter bug (#2477) (HEAD -> 202205, github/202205) [jingwenxie]
* 927daea 2022-11-08 | Do not configure physical attributes on port channels in portconfig (#2456) [Stephen Sun]
* dbe8f2d 2022-11-02 | Fix sudo sfputil show error-status on a multiasic platform issue (#2373) [Marty Y. Lok]
* fff5f67 2022-11-04 | [show] vnet advertised-route command (#2390) (#2478) [siqbal1986]
* 9d921a7 2022-11-04 | Fix exception in adding mirror_session when gre_type is absent (#2476) [bingwang-ms]
* 0bbe54a 2022-11-03 | [show] vnet endpoint [ip/ipv6] command (#2342) (#2421) (#2474) [siqbal1986]
* b1b3661 2022-11-03 | show vnet routes all. (#2341) (#2472) [siqbal1986]

swss:
* e208c87 2022-11-08 | swss: Fixing race condition for rif counters (#2488) (HEAD -> 202205) [Suman Kumar]

platform-common:
* 83f77cc 2022-11-08 | Fix issue: rounding float value for txpower and rxpower (#320) (HEAD -> 202205) [Junchao-Mellanox]
* 169ee25 2022-11-04 | Fix issue: copper cable should not display DOM information (#318) [Junchao-Mellanox]

Signed-off-by: Ying Xie <ying.xie@microsoft.com>

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2022-11-11 17:56:14 -08:00
mssonicbld
2b641e0505
[ci/build]: Upgrade SONiC package versions (#12656) 2022-11-11 23:34:54 +08:00
Kebo Liu
f4806091bb [Mellanox] Add Sensor conf to support respined platforms(SN3700/SN3700C/SN4600C) (#11553)
- Why I did it
Add new sensor conf file to support respined platforms(SN3700/SN3700C/SN4600C)

- How I did it
Add new sensor conf
Update the get_sensors_conf_path scripts to apply the sensor conf according to the HW respin version info

- How to verify it
run platform test(including sensor test)

Signed-off-by: Kebo Liu <kebol@nvidia.com>
2022-11-10 18:17:49 +00:00
Jing Kan
b2d3e2cf2e [dhcp_relay] Enable DHCP Relay for BmcMgmtToRRouter in init_cfg (#12648)
Why I did it
DHCP relay feature needs to be enabled for BmcMgmtToRRouter by default

How I did it
Update device type list
2022-11-10 18:16:15 +00:00
Ying Xie
0d26dcb785 Enable Dx010 LPM (#12642)
Why I did it
DX010 platform has limited routing table size.

How I did it
Enabling LPM.

Signed-off-by: Ying Xie <ying.xie@microsoft.com>
2022-11-10 18:16:06 +00:00
wenyiz2021
aaea93ce2d [Chassis] [Arista] correct platform.json for sup and LC6 names (#12627)
add platform.json separately for LC6 that has different name, bc of supporting macsec
Signed-off-by: Wenyi Zhang <wenyizhang@microsoft.com>
2022-11-10 18:15:58 +00:00
Junhua Zhai
bef2f3e6f6 [gbsyncd] Enable debug shell for BRCM broncos PHY (#12622)
* Build docker-gbsyncd-broncos image
* Correct typo in LIBSAI_BRONCOS_URL_PREFIX
* Update docker-gbsyncd-broncos/Dockerfile.j2
* Enable debug shell support on docker-gbsyncd-broncos
* Include bcmsh in docker-gbsyncd-broncos

Why I did it
In docker-gbsyncd-broncos image, enable debug shell support for BRCM broncos PHY.

How I did it
How to verify it
Note: need enable attr SAI_SWITCH_ATTR_SWITCH_SHELL_ENABLE support in BCM PAI library

# bcmsh 
Press Enter to show prompt.
Press Ctrl+C to exit.
NOTICE: Only one bcmsh or bcmcmd can connect to the shell at same time.


BRCM:> help
help
List of available commands
- h or help => Print command menu
- l => Print list of active ports on the PHY
- ps <port_id> <options> =>  Print port status
  <options> =>  1 -> Link status
            =>  2 -> Link training failure status
            =>  3 -> Link training RX status
            =>  4 -> PRBS lock status
            =>  5 -> PRBS lock loss status
- rd <port_id> <addr> <no of registers to read> => Read register contents
- wr <port_id> <addr> <data> => Write register data
- rrd <lanemap> <if_side> <addr> <no of registers to read> => Raw read register contents using lanemap and if_side (line = 0, system = 1)
- rwr <lanemap> <if_side> <addr> <data> => Raw write register data using lanemap and if_side (line = 0, system = 1)
- fw or firmware => Print firmware version of the PHY
- pd or port_dump <port_id> <flags> => Dump port status
- eyescan <port_id> => Display eye scan 
- fec_status <port_id> => Get fec status of the port
- polarity <lanemap> <if_side> <TX polarity> <RX Polarity> => Set TX and RX polarity
    <lanemap> => 0xF, 0xFF, or 0xFFFF based on number of lanes
    <if_side > => Line = 0, System = 1
    <TX/RX Polarity> =>_TX/RX Polarity bitmap of all lanes
        Each bit represents a lane number.
        E.g. Lane 0's polarity value (0 or 1) is populated in Bit 0.
- polarity <lanemap> <if_side> => Print TX and RX polarity
- lb <port_id> <lb_value> => Enable loopback on the port
  lb_value = 0 -> Disable, 1 -> PHY, 2 -> MAC
- lb <port_id> => Print loopback configuration of the port
- prbs <port_id> <options> <val> => Set/Get PRBS configuration
  <options> => 1 -> Get PRBS state and polynomial
               2 -> Set PRBS Polynomial, <val> - PRBS Polynomial
                    Please refer to phy/chip documentation for valid values
               3 -> Enable PRBS
                    <val> => 0 Disable PRBS
                             1 Enable both PRBS Transmitter and Receiver
                             2 Enable PRBS Receiver
                             3 Enable PRBS Transmitter
  exit or q => Exit the diagnostic shell
2022-11-10 18:15:51 +00:00