sonic-net / sonic-platform-daemons

Platform module daemons for SONiC
Other
25 stars 160 forks source link

CMIS FSM (state machine) timer to be fetched from optics EEPROM instead of a hard-coded value #290

Open shyam77git opened 2 years ago

shyam77git commented 2 years ago

While working with 400G ZR optical module, found an issue in CMIS FSM whereby it timed-out on 1 minute hard-coded value. Optical module's DPinit timer / timeout value differs based on optics type/variant and is defined in the spec (byte 144) - lower nibble (0-3) for DPinit timeout.

Fetch this value from the optics EEPROM along with optics variant/type in CMIS FSM instead of present hard-coded value

shyam77git commented 2 years ago

https://github.com/sonic-net/sonic-platform-common/pull/312 is fixing this. Follow comments in #312 to see if anything more required from xcvrApi/CMIS spec etc. standpoint to take care of this issue besides #312. Note that https://github.com/sonic-net/sonic-platform-daemons/issues/294 to take care for xcvrd side changes and is separate.