Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

media_settings.json are not decoded properly on ports with unused lanes #305

Open
abohanyang opened this issue Oct 18, 2022 · 0 comments
Open

Comments

@abohanyang
Copy link
Contributor

I am adding the media_settings.json file for x86_64-arista_7800r3a_36d2_lc. This platform has 36 QSFP-DD ports. The media_settings.json contains the tuning data for lane0-lane7 on each QSFP-DD port. But this makes the 36x100G SKU unhappy because the xcvrd sets an 8-lane tuning data for a 4-lane 100G port. The Jupiter SAI will fail port serdes creation because the number of port serdes does not match the number of tuning parameters.

root@s1:~# sonic-db-cli -n asic1 APPL_DB hgetall "PORT_TABLE:Ethernet240"
{'admin_status': 'up', 'alias': 'Ethernet31/1', 'asic_port_name': 'Eth240-ASIC1', 'coreId': '0', 'corePortId': '25', 'description': 'Ethernet240-connected-to-nv419@eth56/1', 'fec': 'rs', 'index': '31', 'lanes': '40,41,42,43', 'mtu': '9100', 'numVoq': '8', 'pfc_asym': 'off', 'role': 'Ext', 'speed': '100000', 'tpid': '0x8100', 'oper_status': 'up', 'main': '0x4e,0x4e,0x4b,0x4b,0x4b,0x4e,0x4b,0x4e', 'post1': '-0x16,-0x16,-0x14,-0x14,-0x14,-0x16,-0x14,-0x16', 'post2': '0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0', 'post3': '0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0', 'pre1': '-0x5,-0x5,-0x5,-0x5,-0x5,-0x5,-0x5,-0x5', 'pre2': '0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0'}

The problem is that the method "get_media_val_str" in sonic-platform-daemons/sonic-xcvrd/xcvrd/xcvrd.py cannot handle this case properly. I am thinking about how to handle this issue. Should we fix the logic in get_media_val_str, read the number of lanes from config_db? or make an SKU-specific media_settings.json file?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant