diff --git a/sonic_platform_base/sonic_xcvr/api/public/c_cmis.py b/sonic_platform_base/sonic_xcvr/api/public/c_cmis.py index 4b5fc8ce6..6929d2614 100644 --- a/sonic_platform_base/sonic_xcvr/api/public/c_cmis.py +++ b/sonic_platform_base/sonic_xcvr/api/public/c_cmis.py @@ -368,6 +368,7 @@ def get_transceiver_bulk_status(self): trans_dom['sopmd'] = self.vdm_dict['SOPMD [ps^2]'][1][0] except KeyError: pass + trans_dom['soproc'] = self.vdm_dict['SOP ROC [krad/s]'][1][0] trans_dom['pdl'] = self.vdm_dict['PDL [dB]'][1][0] trans_dom['osnr'] = self.vdm_dict['OSNR [dB]'][1][0] trans_dom['esnr'] = self.vdm_dict['eSNR [dB]'][1][0] diff --git a/tests/sonic_xcvr/test_ccmis.py b/tests/sonic_xcvr/test_ccmis.py index 8896ddfbc..8b2eb7b7e 100644 --- a/tests/sonic_xcvr/test_ccmis.py +++ b/tests/sonic_xcvr/test_ccmis.py @@ -213,6 +213,7 @@ def test_get_transceiver_info(self, get_transceiver_info_func, mock_response, ex 'CD low granularity, long link [ps/nm]':{1:[1000, 2000, 0, 1800, 0, False, False, False, False]}, 'DGD [ps]':{1:[5, 30, 0, 25, 0, False, False, False, False]}, 'SOPMD [ps^2]':{1:[5, 100, 0, 80, 0, False, False, False, False]}, + 'SOP ROC [krad/s]':{1: [0, 65535, 0, 65535, 0, False, False, False, False]}, 'PDL [dB]':{1:[0.5, 3, 0, 2.5, 0, False, False, False, False]}, 'OSNR [dB]':{1:[30, 100, 26, 80, 27, False, False, False, False]}, 'eSNR [dB]':{1:[16, 100, 13, 80, 14, False, False, False, False]}, @@ -242,6 +243,7 @@ def test_get_transceiver_info(self, get_transceiver_info_func, mock_response, ex 'cd_longlink': 1000, 'dgd': 5, 'sopmd': 5, + 'soproc': 0, 'pdl': 0.5, 'osnr': 30, 'esnr': 16,