From bc23ab0b0b87b3ed022a7728c069e580b70bf23d Mon Sep 17 00:00:00 2001 From: Kebo Liu Date: Tue, 23 Oct 2018 02:31:38 +0800 Subject: [PATCH] [xcvrd] get hwsku from DB instead of from minigraph, avoid to access none presenct SFP eeprom (#19) --- sonic-xcvrd/scripts/xcvrd | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sonic-xcvrd/scripts/xcvrd b/sonic-xcvrd/scripts/xcvrd index f9d7b47f79f3..777719011c9f 100644 --- a/sonic-xcvrd/scripts/xcvrd +++ b/sonic-xcvrd/scripts/xcvrd @@ -27,7 +27,6 @@ SYSLOG_IDENTIFIER = os.path.basename(__file__) PLATFORM_ROOT_PATH = '/usr/share/sonic/device' SONIC_CFGGEN_PATH = '/usr/local/bin/sonic-cfggen' -MINIGRAPH_PATH = '/etc/sonic/minigraph.xml' HWSKU_KEY = 'DEVICE_METADATA.localhost.hwsku' PLATFORM_KEY = 'DEVICE_METADATA.localhost.platform' @@ -117,7 +116,7 @@ def get_platform_and_hwsku(): proc.wait() platform = stdout.rstrip('\n') - proc = subprocess.Popen([SONIC_CFGGEN_PATH, '-m', MINIGRAPH_PATH, '-v', HWSKU_KEY], + proc = subprocess.Popen([SONIC_CFGGEN_PATH, '-d', '-v', HWSKU_KEY], stdout=subprocess.PIPE, shell=False, stderr=subprocess.STDOUT) @@ -233,6 +232,9 @@ def post_port_sfp_info_to_db(logical_port_name, table): ganged_port = True for physical_port in physical_port_list: + if not platform_sfputil.get_presence(physical_port): + continue + port_name = get_physical_port_name(logical_port_name, ganged_member_num, ganged_port) ganged_member_num += 1 @@ -266,6 +268,9 @@ def post_port_dom_info_to_db(logical_port_name, table): ganged_port = True for physical_port in physical_port_list: + if not platform_sfputil.get_presence(physical_port): + continue + port_name = get_physical_port_name(logical_port_name, ganged_member_num, ganged_port) ganged_member_num += 1