Skip to content

[Nexthop][fboss2] Populate serdes params for G202x in show interface phy - #1663

Open
vvasavada-nexthop wants to merge 1 commit into
meta:mainfrom
nexthop-ai:populate-serdes-params-g202x-in-show
Open

vvasavada-nexthop wants to merge 1 commit into
meta:mainfrom
nexthop-ai:populate-serdes-params-g202x-in-show

Conversation

@vvasavada-nexthop

Copy link
Copy Markdown
Contributor

Pre-submission checklist

  • I've ran the linters locally and fixed lint errors related to the files I modified in this PR. You can install the linters by running pip install -r requirements-dev.txt && pre-commit install
  • pre-commit run

Summary

Enables full show interface phy serdes-parameter parity on G202X (Cisco SiliconOne / Wedge800CACT/CNHP). Previously TX FIR and RX serdes fields returned 0 or N/A on Tajo while Broadcom platforms populated them.

Changes

  • phy.thrift / CmdShowInterfacePhy.cpp: Add Thrift fields + CLI columns for the Cisco-native TX FFE and RX INSTG serdes parameters.
  • SaiPortManager.cpp: Read the Cisco extension attributes (SAI_PORT_SERDES_ATTR_EXT_TX_* / _RX_*), gated by the new HwAsic::Feature::TAJO_RX_SERDES_PARAMETERS.
  • G202xAsic.cpp: Enable TAJO_RX_SERDES_PARAMETERS; add the feature to all ASIC files for switch-exhaustiveness.

Test Plan

 Interface            eth1/1/1
---------------------------------------
 PhyChipType          IPHY
 Link State           UP
 Link Flap Count      5
 Speed                EIGHTHUNDREDG
 IPHY Data Collected  0h 0m 1s ago
 IPHY-Line PCS
-----------------------------------------------
 IPHY-Line PCS RX Link Status Live     True
 IPHY-Line PCS RX Link Status Changed  0
 IPHY-Line RS FEC
----------------------------------------------------
 IPHY-Line Corrected codewords    35939
 IPHY-Line Uncorrected codewords  0
 IPHY-Line Pre-FEC BER            1.295e-09
 IPHY-Line Pre-FEC BER Source     CORRECTED_BITS
 IPHY-Line FEC Tail               1
 IPHY-Line Codeword stats  Symbol Errors  # of codewords
-------------------------------------------------------------
                           0              1385767250
                           1              20662
                           2              0
                           3              0
                           4              0
                           5              0
                           6              0
                           7              0
                           8              0
                           9              0
                           10             0
                           11             0
                           12             0
                           13             0
                           14             0
                           15             0
IPHY-Line Interface Type: SR8
IPHY-Line Link Training
  IPHY-Line Enabled                  False
   IPHY-Line RX PMD  Lane  RX Signal Detect Live  RX Signal Detect Changed  RX CDR Lock Live  RX CDR Lock Changed
-----------------------------------------------------------------------------------------------------------------------
                   0     False                  0                         True              0
                   1     False                  0                         True              0
                   2     False                  0                         True              0
                   3     False                  1                         True              0
                   4     False                  0                         True              0
                   5     False                  0                         True              0
                   6     False                  0                         True              0
                   7     False                  0                         True              0
 IPHY-Line TX PMD  Lane  Pre3  Pre2  Pre1    Main   Post1  Post2  Post3  DriverSwing  DigGain  DiffEncoderEn  LdoBypass
--------------------------------------------------------------------------------------------------------------------------------------
                   0     -655  1966  -10485  52428  0      0      0      5            0        0              0
                   1     -655  1966  -10485  52428  0      0      0      5            0        0              0
                   2     -655  1966  -10485  52428  0      0      0      5            0        0              0
                   3     -655  1966  -10485  52428  0      0      0      5            0        0              0
                   4     -655  1966  -10485  52428  0      0      0      5            0        0              0
                   5     -655  1966  -10485  52428  0      0      0      5            0        0              0
                   6     -655  1966  -10485  52428  0      0      0      5            0        0              0
                   7     -655  1966  -10485  52428  0      0      0      5            0        0              0
 IPHY-Line Serdes Parameters  Lane
--------------------------------------
                              0
                              1
                              2
                              3
                              4
                              5
                              6
                              7

JSON output

 1 {"localhost":{"phyInfo":{"eth1/1/1":{"1":{"speed":0,"name":"","timeCollected":0,"state":{"phyChip":{"name":"","type":1,"physicalID":0},"speed":800000,"name":"eth1/1/1","linkState":true,"line":{"side":2,"pcs":{"    pcsRxStatusLive":true,"pcsRxStatusLatched":false,"rsFecState":{"lanes":{}}},"pmd":{"lanes":{"0":{"lane":0,"signalDetectLive":false,"signalDetectChanged":false,"cdrLockLive":true,"cdrLockChanged":false,"txSettin    gs":{"pre":0,"pre2":0,"main":0,"post":0,"post2":0,"post3":0,"diffEncoderEn":0,"digGain":0,"driverSwing":5,"ldoBypass":0,"firPre1":-10485,"firPre2":1966,"firPre3":-655,"firMain":52428,"firPost1":0,"firPost2":0,"    firPost3":0},"serdesParameters":{"lane":0}},"1":{"lane":1,"signalDetectLive":false,"signalDetectChanged":false,"cdrLockLive":true,"cdrLockChanged":false,"txSettings":{"pre":0,"pre2":0,"main":0,"post":0,"post2":    0,"post3":0,"diffEncoderEn":0,"digGain":0,"driverSwing":5,"ldoBypass":0,"firPre1":-10485,"firPre2":1966,"firPre3":-655,"firMain":52428,"firPost1":0,"firPost2":0,"firPost3":0},"serdesParameters":{"lane":1}},"2":    {"lane":2,"signalDetectLive":false,"signalDetectChanged":false,"cdrLockLive":true,"cdrLockChanged":false,"txSettings":{"pre":0,"pre2":0,"main":0,"post":0,"post2":0,"post3":0,"diffEncoderEn":0,"digGain":0,"drive    rSwing":5,"ldoBypass":0,"firPre1":-10485,"firPre2":1966,"firPre3":-655,"firMain":52428,"firPost1":0,"firPost2":0,"firPost3":0},"serdesParameters":{"lane":2}},"3":{"lane":3,"signalDetectLive":false,"signalDetect    Changed":false,"cdrLockLive":true,"cdrLockChanged":false,"txSettings":{"pre":0,"pre2":0,"main":0,"post":0,"post2":0,"post3":0,"diffEncoderEn":0,"digGain":0,"driverSwing":5,"ldoBypass":0,"firPre1":-10485,"firPre    2":1966,"firPre3":-655,"firMain":52428,"firPost1":0,"firPost2":0,"firPost3":0},"serdesParameters":{"lane":3}},"4":{"lane":4,"signalDetectLive":false,"signalDetectChanged":false,"cdrLockLive":true,"cdrLockChange    d":false,"txSettings":{"pre":0,"pre2":0,"main":0,"post":0,"post2":0,"post3":0,"diffEncoderEn":0,"digGain":0,"driverSwing":5,"ldoBypass":0,"firPre1":-10485,"firPre2":1966,"firPre3":-655,"firMain":52428,"firPost1    ":0,"firPost2":0,"firPost3":0},"serdesParameters":{"lane":4}},"5":{"lane":5,"signalDetectLive":false,"signalDetectChanged":false,"cdrLockLive":true,"cdrLockChanged":false,"txSettings":{"pre":0,"pre2":0,"main":0    ,"post":0,"post2":0,"post3":0,"diffEncoderEn":0,"digGain":0,"driverSwing":5,"ldoBypass":0,"firPre1":-10485,"firPre2":1966,"firPre3":-655,"firMain":52428,"firPost1":0,"firPost2":0,"firPost3":0},"serdesParameters    ":{"lane":5}},"6":{"lane":6,"signalDetectLive":false,"signalDetectChanged":false,"cdrLockLive":true,"cdrLockChanged":false,"txSettings":{"pre":0,"pre2":0,"main":0,"post":0,"post2":0,"post3":0,"diffEncoderEn":0,    "digGain":0,"driverSwing":5,"ldoBypass":0,"firPre1":-10485,"firPre2":1966,"firPre3":-655,"firMain":52428,"firPost1":0,"firPost2":0,"firPost3":0},"serdesParameters":{"lane":6}},"7":{"lane":7,"signalDetectLive":f    alse,"signalDetectChanged":false,"cdrLockLive":true,"cdrLockChanged":false,"txSettings":{"pre":0,"pre2":0,"main":0,"post":0,"post2":0,"post3":0,"diffEncoderEn":0,"digGain":0,"driverSwing":5,"ldoBypass":0,"firPr    e1":-10485,"firPre2":1966,"firPre3":-655,"firMain":52428,"firPost1":0,"firPost2":0,"firPost3":0},"serdesParameters":{"lane":7}}},"linkTrainingStatus":{"linkTrainingEnabled":false}},"interfaceType":23,"medium":2    },"switchID":0,"timeCollected":1789760109},"stats":{"line":{"side":2,"pcs":{"rsFec":{"correctedCodewords":35939,"uncorrectedCodewords":0,"correctedBits":35937,"preFECBer":1.295e-09,"codewordStats":{"0":13857672    50,"1":20662,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},"fecTail":1,"maxSupportedFecTail":15,"preFECBerSource":1}},"pmd":{"lanes":{"0":{"lane":0,"signalDetectChan    gedCount":0,"cdrLockChangedCount":0},"1":{"lane":1,"signalDetectChangedCount":0,"cdrLockChangedCount":0},"2":{"lane":2,"signalDetectChangedCount":0,"cdrLockChangedCount":0},"3":{"lane":3,"signalDetectChangedCou    nt":1,"cdrLockChangedCount":0},"4":{"lane":4,"signalDetectChangedCount":0,"cdrLockChangedCount":0},"5":{"lane":5,"signalDetectChangedCount":0,"cdrLockChangedCount":0},"6":{"lane":6,"signalDetectChangedCount":0,    "cdrLockChangedCount":0},"7":{"lane":7,"signalDetectChangedCount":0,"cdrLockChangedCount":0}}}},"linkFlapCount":5,"ioStats":{"readDownTime":0,"writeDownTime":0,"numReadAttempted":0,"numReadFailed":0,"numWriteAt    tempted":0,"numWriteFailed":0},"timeCollected":1789760109}}}}}}

Output from leaba shell

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                                                                                                                              sysport-gid: 0x1 serdes: 1/0/8-15                                                                                                                                                                                              |
+------+--------------------+-----------------------+----------------------+-----------------------------+----------------------------+-----------------------+----------------------+------------------------+-----------------------+---------------------------+-------------------------------+--------------------+-----------------+----------------+----------------+----------------+----------------+----------------+
| Lane | RX_DIFF_ENCODER_EN | RX_INSTG_BOOST1_START | RX_INSTG_BOOST1_STOP | RX_INSTG_BOOST2_OR_HR_START | RX_INSTG_BOOST2_OR_HR_STOP | RX_INSTG_C1_START_1P7 | RX_INSTG_C1_STOP_1P7 | RX_INSTG_DFE_START_1P7 | RX_INSTG_DFE_STOP_1P7 | RX_INSTG_ENABLE_DUMP_SCAN | RX_INSTG_SCAN_USE_SR_SETTINGS | TX_DIFF_ENCODER_EN | TX_DRIVER_SWING | TX_FFE_COEFF_0 | TX_FFE_COEFF_1 | TX_FFE_COEFF_2 | TX_FFE_COEFF_3 | TX_FFE_COEFF_4 |
+------+--------------------+-----------------------+----------------------+-----------------------------+----------------------------+-----------------------+----------------------+------------------------+-----------------------+---------------------------+-------------------------------+--------------------+-----------------+----------------+----------------+----------------+----------------+----------------+
| 0    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
| 1    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
| 2    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
| 3    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
| 4    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
| 5    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
| 6    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
| 7    | 0                  | 7                     | 15                   | 1                           | 7                          | -64                   | 0                    | -52                    | 0                     | 1                         | 1                             | 0                  | 5               | -655           | 1966           | -10485         | 52428          | 0              |
+------+--------------------+-----------------------+----------------------+-----------------------------+----------------------------+-----------------------+----------------------+------------------------+-----------------------+---------------------------+-------------------------------+--------------------+-----------------+----------------+----------------+----------------+----------------+----------------+
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

@vvasavada-nexthop
vvasavada-nexthop requested review from a team as code owners September 21, 2026 16:22
@meta-cla meta-cla Bot added the CLA Signed label Sep 21, 2026
@vvasavada-nexthop vvasavada-nexthop changed the title [Nexthop] Populate serdes params for G202x in show interface phy [Nexthop][fboss2] Populate serdes params for G202x in show interface phy Oct 20, 2026
@github-actions github-actions Bot added the project:fboss2 FBOSS project: fboss2 label Oct 20, 2026
@mabel-bot
mabel-bot Bot force-pushed the populate-serdes-params-g202x-in-show branch from 7af136d to 3a0195d Compare November 5, 2026 22:41
@mabel-bot
mabel-bot Bot force-pushed the populate-serdes-params-g202x-in-show branch from 3a0195d to e583e15 Compare November 5, 2026 22:43

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant