Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 28 additions & 10 deletions src/sonic-device-data/tests/media_checker
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ import sys

level1_keys = ["GLOBAL_MEDIA_SETTINGS","PORT_MEDIA_SETTINGS"]

setting_keys = ["preemphasis","idriver","ipredriver",\
"main","pre1","pre2","pre3",\
"post1","post2","post3","attn"]
si_param_list = ["preemphasis", "idriver", "ipredriver", \
"main", "pre1", "pre2", "pre3", \
"post1", "post2", "post3", "attn", \
"ob_m2lp", "ob_alev_out", "obplev", "obnlev", \
"regn_bfm1p", "regn_bfm1n"]
lane_speed_key_prefix = 'speed:'
lane_prefix = "lane"
comma_separator = ","
range_separator = "-"
Expand Down Expand Up @@ -46,17 +49,32 @@ def check_media_dict(vendor_dict):
print("Expecting settings for vendor type " + vendor_key)
return False

lane_speed_hierarchy_exists = None

for value_key in value_dict:
if value_key not in setting_keys:
print("Unknown media setting " + value_key)
return False
if value_key.startswith(lane_speed_key_prefix):
if lane_speed_hierarchy_exists is False:
print("Inconsistent lane speed hierarchy levels for the same entry")
return False
lane_speed_hierarchy_exists = True
settings_dict = value_dict[value_key]
else:
if lane_speed_hierarchy_exists is True:
print("Inconsistent lane speed hierarchy levels for the same entry")
return False
lane_speed_hierarchy_exists = False
settings_dict = value_dict

lane_dict = value_dict[value_key]
for lanes in lane_dict:
if not check_lane_and_value(lanes, lane_dict[lanes]):
for si_param in settings_dict:
if si_param not in si_param_list:
print("Unknown media setting " + si_param)
return False
return True

lane_dict = settings_dict[si_param]
for lanes in lane_dict:
if not check_lane_and_value(lanes, lane_dict[lanes]):
return False
return True

def check_valid_port(port_name):
try:
Expand Down