Commit 50035b4
committed
Support parsing gearbox configuration from media_settings.json
Add support for configuring gearbox line-side and system-side
signal integrity settings via the media_settings.json configuration
file. The changes here are following the direction set in the HLD at
https://github.com/sonic-net/SONiC/blob/39d1069500d8c20b71fef012374ca47c66b62e97/doc/media-settings/Dynamic-gearbox-tuning.md.
This allows signal integrity settings to be configured for both the
line-side and system-side of a gearbox in the following manner:
```
{
"GEARBOX_GLOBAL_MEDIA_SETTINGS": {
"1-31": {
"line": {
"COPPER100": {
# pre3, pre2, pre1, main, post1, post2, post3
}
},
"system": {
"COPPER100": {
# pre3, pre2, pre1, main, post1, post2, post3
}
},
}
},
"GEARBOX_PORT_MEDIA_SETTINGS": {
"32": {
"line": {
"COPPER100": {
# pre3, pre2, pre1, main, post1, post2, post3
}
},
"system": {
"COPPER100": {
# pre3, pre2, pre1, main, post1, post2, post3
}
},
}
}
}
```
Without this, there is currently no way to configure a gearbox's
signal integrity settings via media_settings.json. Instead,
configuration is solely managed by the gearbox_config.json file.
However, that file does not allow dynamic control of SI settings
since it is programmed on gearbox initialization -- if new
physical media is used, the values in gearbox_config.json need to
be updated manually. The media_settings.json file allows
specification of different configurations for different physical
media, obviating the need to manually update SI settings when
using different physical media. Consolidating signal integrity
settings configuration into media_settings.json also simplifies
the configuration process overall.1 parent 8e2353f commit 50035b4
File tree
3 files changed
+1126
-30
lines changed- sonic-xcvrd
- tests
- xcvrd/xcvrd_utilities
3 files changed
+1126
-30
lines changed
0 commit comments