oxidecomputer / oxidecomputer/dendrite
Can we be more helpful when links are configured incorrectly
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 20
- Forks
- 3
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 4
Description
I had a 100G capable module that I configured a 200G link for. I eventually realized my error, but we weren't very helpful along the way. The link state stayed wedged in Unknown and the link history looked something like:
# swadm link history qsfp0/0
Time Class Subclass Channel Details
359641 QsfpFSM Detected -
360541 QsfpFSM WaitUpdate -
361588 QsfpFSM Update -
363035 QsfpChannelFSM EnaCdr 0
363035 QsfpChannelFSM EnaCdr 1
363035 QsfpChannelFSM EnaCdr 2
363035 QsfpChannelFSM EnaCdr 3
363554 QsfpChannelFSM Appsel 0
363554 QsfpChannelFSM Appsel 1
363554 QsfpChannelFSM Appsel 2
363554 QsfpChannelFSM Appsel 3
363631 QsfpChannelFSM Enabling 0
363631 MediaFSM WaitMediaInit -
363631 QsfpChannelFSM Enabling 1
363631 QsfpChannelFSM Enabling 2
363631 QsfpChannelFSM Enabling 3
364043 PortFSM WaitSignalOK -
364182 PortFSM WaitPLLReady -
364204 LinkAdmin Enable -
364204 MediaFSM WaitSerdesTxInit -
364412 MediaFSM MediaDetected -
373448 LinkAdmin Create - speed: 200G fec: RS
3617137 QsfpFSM Detected -
3617517 QsfpFSM WaitToffLmode -
3617706 QsfpFSM ToffLpmode -
3617707 QsfpFSM DpDeactivate -
3617739 QsfpFSM WaitLowPwr -
3620238 QsfpFSM WaitTonTxdis -
3620249 QsfpFSM WaitTReset -
3620274 QsfpFSM Inserted -
3622461 QsfpFSM Idle -
3622482 QsfpFSM Removed -
These modules were both QSFP28, governed by SFF-8636. We should be able to use SFF-8024 Extended Specification Compliance References where they are supported.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the swadm link history qsfp0/0 path and the QSFP state transitions shown in the report. Read the SFF-8636 and supported SFF-8024 Extended Specification Compliance References, then reproduce the 100G-module/200G-link mismatch; done means the invalid configuration produces a helpful diagnostic instead of leaving the link in Unknown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100