From e4a3a250f36f367a0477925b7942b86907fa52fa Mon Sep 17 00:00:00 2001 From: Junchao-Mellanox <57339448+Junchao-Mellanox@users.noreply.github.com> Date: Wed, 16 Nov 2022 10:29:49 +0800 Subject: [PATCH] [sfp] Add media assignment options to Application Advertisement (#324) * [sfp] Add media assignment options to Application Advertisement * Increase UT coverage Conflicts: tests/sonic_xcvr/test_cmis.py --- sonic_platform_base/sonic_xcvr/api/public/cmis.py | 5 +++++ tests/sonic_xcvr/test_cmis.py | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sonic_platform_base/sonic_xcvr/api/public/cmis.py b/sonic_platform_base/sonic_xcvr/api/public/cmis.py index 0c34b9c9a..b7a86dc64 100644 --- a/sonic_platform_base/sonic_xcvr/api/public/cmis.py +++ b/sonic_platform_base/sonic_xcvr/api/public/cmis.py @@ -1914,6 +1914,11 @@ def get_application_advertisement(self): break buf['host_lane_assignment_options'] = val + key = "{}_{}".format(consts.MEDIA_LANE_ASSIGNMENT_OPTION, app) + val = dic.get(key) + if val is not None: + buf['media_lane_assignment_options'] = val + ret[app] = buf return ret diff --git a/tests/sonic_xcvr/test_cmis.py b/tests/sonic_xcvr/test_cmis.py index a8c2c1c58..44feb887f 100644 --- a/tests/sonic_xcvr/test_cmis.py +++ b/tests/sonic_xcvr/test_cmis.py @@ -1991,7 +1991,8 @@ def test_get_application_advertisement(self): consts.MODULE_MEDIA_INTERFACE_SM + "_1": "400GBASE-DR4 (Cl 124)", consts.MEDIA_LANE_COUNT + "_1": 4, consts.HOST_LANE_COUNT + "_1": 8, - consts.HOST_LANE_ASSIGNMENT_OPTION + "_1": 0x01 + consts.HOST_LANE_ASSIGNMENT_OPTION + "_1": 0x01, + consts.MEDIA_LANE_ASSIGNMENT_OPTION + "_1": 0x02 }, Sff8024.MODULE_MEDIA_TYPE[2] ] @@ -2003,6 +2004,7 @@ def test_get_application_advertisement(self): assert result[1]['host_lane_count'] == 8 assert result[1]['media_lane_count'] == 4 assert result[1]['host_lane_assignment_options'] == 0x01 + assert result[1]['media_lane_assignment_options'] == 0x02 def test_get_application_advertisement_non_support(self): self.api.xcvr_eeprom.read = MagicMock(return_value = None)